Silverlight 5 Wishlist

Customer Feedback for Developer Community_1275511885440 Less than two months ago Silverlight 4 RTW was released and there are no official information about the next version, but I’m pretty sure guys in Redmond are already preparing something cool. If you want to suggest a feature or vote for one, you should check this site. It is the official page for feature suggestions and a lot of features requested there made their way to Silverlight 4.

Currently, the most voted ideas are the following:

  • full databinding support
  • implement Silverlight on more platforms
  • 3D support
  • encoding and streaming to Media Server / IIS
  • report controls

There are also some very interesting ideas later on the list. My personal favorites are:

  • local database support
  • JPEG encoder/decoder
  • minimize to SysTray in OOB
  • HTML control inside browser (not only in OOB) – a must!
  • custom mouse cursor images
  • multitouch gesture and intertia support
  • setting filename for SaveFileDialog
  • application patching functionality
  • BMP and GIF image support
  • vector printing

 

0  

Browsers market share in Croatia

ie6nomore-logo Inspired by an article on CNN that claims that IE6 is under 5 percent market share, I’ve looked into web statistics of Croatian sites I have access to. I cannot tell which sites I’m talking about, the important thing is that there are normal, mainstream sites visited by general audience (in comparison to, for example, IT portal Bug Online, that is visited by geeks and IT professionals, and statistics are much different).

Unfortunately, Internet Explorer 6 in Croatia is still around 12% market share (57% use IE, 23% of IE users have version 6). Here are some pies – first one shows browser market share, and another one Internet Explorer usage by major versions.

Browsers - Google Analytics_1275510116535 Browsers - Google Analytics_1275510176036

Browser- - Google Analytics_1275510210101 image

Users, please stop using older version of browsers, especially Internet Explorer 6.
Web-developers, please stop supporting Internet Explorer 6 in your projects – ignore it, just like its users ignore its security issues.

0  

DoubleClick in Silverlight

doubleclickdemo As you probably know, Silverlight does not support double click event, not even a single click event on most elements (I think there is an event called Click only on Buttons). Single click can be emulated via MouseLeftButtonDown and MouseLeftButtonUp, but it is wrong to bind it to only one out of these two. “Real” Click event combines MouseLeftButtonDown and MouseLeftButtonUp and both of them must be raised over the same element to form the click. If you still want to use only one event and you are aware that it is not the best solution, than you should use MouseLeftButtonUp.

Before going into double click scenario, let me point out that double click is not “natural” on the Web and you should not use it there if you want your application to be user friendly. This is just a proof of concept, an example that it can be done, but it is generally not a good idea to implement a double click in a web application.

Double click is a bit more complicated than single click. In this case, you should catch four events in total – two MouseLeftButtonDowns and two MouseLeftButtonUps, and they all should be fired above the same element, in a short period of time (less than 400 milliseconds) and the mouse cursor should not change its position. It is not as complicated as it sounds and I have prepared a small class (source and demo are at the bottom of the post) you can use freely in your projects (I’m using it in one and it works like a charm).

But, there is one more problem you should be aware of – after the first click (the first pair of MouseLeftButtonDown and MouseLeftButtonUp) we don’t know will the user stop clicking, or will he click once more to produce a double click. Since we expect him to do it under 400 milliseconds, the decision whether this is a single or double click can be made 400 ms after the first MouseLeftButtonUp. This amount of time can seem small enough to ignore it, but in real life scenario this will be noted by user and he will feel that single click is not responsive enough. For example, if you put SingleClick and DoubleClick events on an element, and the user clicks on it once, he will wait 400 ms for an application to respond to a SingleClick event.

There are several things you can do to solve this issue:

  1. don’t use SingleClick and DoubleClick on the same element
  2. use SingleClick and DoubleClick for complemental actions – for example, like in Windows Explorer, single click will select a file, and double click will open it
  3. show to the user that you have “captured” his single click, but don’t execute it’s command just yet, wait to be sure that double click timeout is over

In my DoubleClick class there are three events you can attach to:

  • SingleClick – fires when the user clicks on an element (does one MouseLeftButtonDown and one MouseLeftButtonUp); fires every time, even if user double clicks!
  • SingleClickDelayed – fires when user clicks on an element (does one MouseLeftButtonDown and one MouseLeftButtonUp) and doesn’t do the other pair of Down&Up, so you can be sure that this is no double click
  • DoubleClick – fires when user double clicks (two MouseLeftButtonDowns and two MouseLeftButtonUps) on the same position, clicks must be produces under 400 ms

What events should you use?

  • if you need only single click, use SingleClick
  • if you need only double click, use DoubleClick
  • if you need both, but actions are complemental (see scenario no. 2), use SingleClick and DoubleClick
  • if you need both, but actions are not complemental, use SingleClickDelayed and DoubleClick – please be aware that there will be a noticable delay between user click and the moment when SingleClickDelayed fires; you can use SingleClick event to let the user know that the click was detected (show a progress bar, change the color or something) and SingleClickDelayed to do the action

How to use this class? It is pretty straightforward:

  • add using Dizzy.DoubleClick;
  • extend the element and hook up events:
    DoubleClickExtender dce = new DoubleClickExtender(rect1);
    dce.SingleClick += new MyEventHandler(dce_SingleClick);
    dce.SingleClickDelayed += new MyEventHandler(dce_SingleClickDelayed);
    dce.DoubleClick += new MyEventHandler(dce_DoubleClick);

doubleclickcode

Here you can find a demo project (full source, includes the class doubleclick.cs) and here you can see it in action. Happy programming!

The basic idea behind this approach is based on Mike Snow’s blog post – thanks!

0  

Što je novo u Silverlightu 4? (trening)

[English summary: announcing Silverlight 4 training with hands-on-labs in Varaždin, Croatia.]

Sljedeći tjedan u Microsoftovom inovacijskom centru u Varaždinu na rasporedu je trening koji će vam pokazati što sve novoga ima u konačnoj inačici Silverlighta 4. Ideja je proći što više stvari s naglaskom na praktični dio – dan će obilovati raznim hands-on-labovima tako da ćete sve spomenuto moći proći i sami.

Dio vremena posvetit ćemo i razvoju aplikacija za nadolazeći Windows Phone 7, a kao posebna poslastica najavljujemo multi-touch monitore, pomoću kojih se može puno realnije doživjeti emulator tog još neizašlog operativnog sustava za telefone.

Vidimo se tamo! Trening je na rasporedu 26. svibnja, traje cijeli dan, a više informacija možete pronaći na ovoj adresi gdje se ujedno možete i prijaviti.

0  

DORS/CLUC 2010 and Seth Godin event in Zagreb – powered by Wall of Silver

Just a quick photo-reminder of two events that used my twitter wall application to show tweets on the wall.

DORS/CLUC 2010 – Open system days / Linux users conference was held on May 5th, on Faculty of electrical engineering and computing in Zagreb, and they’ve used Wall of Silver on a Linux powered notebook, with Moonlight 2.2 installed.

Wall of Silver was turned on again on May 13th, during the event featuring Seth Godin (via videoconference) and Alex Hunter. It was especially useful during the panel discussion.

05052010037x2_1531321

Looking forward two more events in June that will be using Wall of Silver. You can use it on your event too, for free!

0  

Najava treninga – PR za geekove

2599hat U ožujku sam u Microsoft Innovation Centeru održao prvi ne-tehnički trening u životu. Radilo se o PR-u (public relations) s kojim imam jako puno iskustva, iz to čak iz dva kuta. Prvo kao novinar, čime se bavim već petnaestak godina (posljednjih dvanaest za Bug i Mrežu), te kao poduzetnik koji treba plasirati svoje proizvode i znanje.

Otuda i ideja za pokretanjem takvog treninga – nakupilo se puno iskustva i ideja, a gotovo svakodnevno viđam ljude kako imaju odličan proizvod ili ideju, a ne znaju ga plasirati, popularizirati, dignuti hype, komunicirati s medijima… (Znam, doduše, i neke kojima to izvrsno ide, no imaju loš proizvod i svejedno su uspješniji od prvih – što samo dokazuje koliko su odnosi s javnošću važni.)

S obzirom da interes i izvrsne reakcije polaznika, 19. svibnja ponavljamo trening na kojem se ne bavimo klasičnim PR pričama već se fokusiramo na ono od PR-a što treba geekovima u njihovoj branši.

Kao i u svakoj branši, i u onoj novinarskoj postoje određena pravila ponašanja, očekivanja i načini na koje se pristupa određenim problemima. Nije to neka velika mudrost, no mnogi često jednostavno nemaju vremena za razmišljati o tim "sporednim stvarima", bez obzira što one mogu puno značiti za vaš primarni posao.
Mnogi nemaju resursa za angažiranje profesionalnih agencija, niti to uvijek ima opravdanja. Cilj treninga je pokazati vam cijeli niz trikova i ideja koje možete iskoristiti da bi vaš odnos s novinarima i javnošću općenito bio što kvalitetniji, zanimljiviji i u konačnici uspješniji.

Nadam se da sam vas zainteresirao te da ćemo se vidjeti 19. u Varaždinu. Prijave i više informacija možete pronaći ovdje (trening nije besplatan, no među najjeftinijima je na tržištu, a siguran sam da će vam biti zanimljivo i korisno.

0  

Multi-touch usability “study” with 3-year-old

IMG_3267 I’m participating in BizSparkCamp called “Building modern Windows 7 application” here in Croatia as one of the tutors. One of the key modern features in Windows 7 is multi-touch support and I’ve been playing with a multi-touch monitor (Dell SX2210T) for a week now. It’s quite fun, especially with Windows 7 Touch Pack released as a free download last month.

Over the weekend, I have put my 3-year-old daughter in front of it and observed her reactions. She had a lot of fun, especially in Paint. From my point of view, the most interesting part of this little experiment was in Microsoft Surface Collage application – I told here to zoom the photo, and she instinctively took two fingers and did the pinch move. I was really surprised, since I’m pretty sure she didn’t see me or anybody else doing it, not even on phones. Seems that the pinch is more natural than I thought.

If you have a multi-touch device, check out this list of applications. There is a multi-touch support in Silverlight as well and developing Windows Phone 7 apps with no actual device is much simpler with this monitor.

0  

Naučite programirati za Windows 7 – trening

Untitled-1 Microsoftov inovacijski centar u Varaždinu organizira prvi BizSparkCamp u Hrvatskoj i jedan od prvih u svijetu. BizSparkCamp je “niz događanja koji uključuju tehničke aktivnosti i treninge, namijenjen prvenstveno tvrtkama iz BizSpark ekosustava, ali i svim ostalim tvrtkama (nezavisni proizvođači softvera, tvrtke iz WebsiteSpark programa, itd.), koje stvaraju ili se planiraju okušati u razvoju aplikacija koristeći najnovije Microsoftove tehnologije.”

Prvi BizSparkCamp bavit će se razvojem modernih aplikacija za Windows 7 koje koriste zaslon osjetljiv na dodir i senzore. Prvi susret u ovom programu zamišljen je kao uvod u cijelu priču i namijenjen je većem broju ljudi, pa se održava u Zagrebu, u uredima Microsofta Hrvatska, u petak 7. svibnja 2010. u poslijepodnevnim satima. U nizu predavanja posebno će biti zanimljivo vidjeti konkretne uređaje sa spomenutim mogućnostima, koji su teškom mukom nabavljeni i nisu čest gost na našim prostorima.

S obzirom da i sam sudjelujem u ovom programu kao jedan od voditelja (otuda ovo i na mom blogu), pozivam vas da nam se pridružite – sudjelovanje je besplatno i slobodno za sve koga zanima, potrebno se samo prijaviti. Raspored i detaljnije informacije možete potražiti na istom linku.

0  

Silverlight projects from Croatia

There are many Silverlight developers in Croatia, but they usually work on some internal / private business application. There are also some public projects that can be viewed by everyone, so I feel it’s important to list them in one place. If you know any other Croatian Silverlight application not listed here, please let me know.

0  

Top 5 Silverlight Blogs to Follow

This post needs no introduction, here is the list of the most important Silverlight blogs out there:

0