Future of PivotViewer control and HTML 5 equivalent - silverlight

As Silverlight's future seems to be quite unsure, does anybody know if the PivotViewer control will still be maintained and updated?
I wish to develop an application based on this amazing control but I am not confident whether it will be maintained or not.
Is there any HTML5 initiative for developing such data visualization behavior?
Thanks.

I've been working on a HTML5 version of PivotViewer for a while now, you can see it here: http://pivot.lobsterpot.com.au/html5.htm.
This first prototype version doesn't have pan or zoom, but I do have a later version in the works that supports pan, zoom and tile templates.

I know this is an old question, but this control has been one of those awesome ones. The lobsterpot control is open sourced on github by openlink:
https://github.com/openlink/html5pivotviewer
if you're a budding dev for js, fork and improve :)

The short answer is that Silverlight as a whole will be "maintained and updated" for years.
There is so much talk of the death of Silverlight, but it and XAML are still top-tier Microsoft technologies. Nothing should stop you using the PivotViewer control and Silverlight in your application. If, in several years you're still working on the same thing and you feel support is lacking, cross that bridge then and reassess this decision.

There's an HTML5 version of PivotViewer around now by members of the original team that made the Silverlight version. It's sad that there is no WPF and WinRT version of it by Microsoft btw.
see links I've gathered on PivotViewer here
https://www.dropbox.com/sh/kf7pir9gf0wwdwy/AABmsm5LDcGYoA7UDGH33tTha?dl=0
those were collected during the development of ClipFlair project (http://ClipFlair.net - see http://clipflair.codeplex.com for the source code). Choose the "Gallery" option to see Silverlight PivotViewer in use there inside a zoomable floating window container that can host other components too along with it.

Related

WPF vs XNA vs Surface for gesture based interface

I wonder which of these 3 frameworks / combination of them is most suitable for gesture-based interface (based on touch or motion recognition)?
I see online some directions, of using WPF and Surface, but nothing concrete.
I will appreciate if someone who already worked on this can suggest an approach.
If you are talking about targetting Windows 7, WPF 4 + the "Surface Toolkit for Windows Touch" are the most efficient way to go. WPF 4 has built in low level APIs for touch and the Surface Toolkit extends that with a suite of controls that are optimized for touch and gestures. See my presentation on this topic from PDC '09: http://www.microsoftpdc.com/2009/CL27
Not sure why Adrman deleted his post, but I'm going to re-post his link to Shawn Hargreave's post about the touch API on windows:
http://blogs.msdn.com/b/shawnhar/archive/2010/09/09/touch-input-on-windows-in-xna-game-studio-4-0.aspx
If you're interested in still using XNA for your project, there are definitely still options as Shawn "touches" upon in the end of his post. For example, here is an article on the XNA UK UG site that shows how to implement touch on windows:
http://xna-uk.net/blogs/randomchaos/archive/2010/02/10/xna-and-windows-7-multi-touch.aspx
Now, that pretty much ties you to the API, but it stands to reason that you could refactor this so that it was more generic, and then eventually just use the built-in touch API (assuming they implement touch on windows, which I believe they will).

Microsoft is "de-emphasizing" Silverlight, should I pick another technology (Flash or HTML 5)?

I have been planning since Summer to build a new hobby site over Christmas break in which I will use Silverlight to make some super-awesome navigation menu. I was crushed to read that Microsoft is de-emphasizing Silverlight (to throw all their weight into HTML 5 I guess).
I have never used Silverlight, but I am trying to build my development skills around Microsoft products, and Silverlight seems like a really cool technology, thus my interest. If it is not going to have Microsoft's full support I am a bit apprehensive about committing to it.
With that said I have some questions:
1.) At this point in time can I get roughly the same results from HTML 5 as I could Silverlight when creating my navigation menu and with roughly the same amount of effort?
2.) If HTML 5 cannot fill the shoes of Silverlight at this time then what (Flash)?
3.) Is my apprehension about Silverlight even justified (would you use it now)?
I would point you to these two posts:
http://timheuer.com/blog/archive/2010/11/01/silverlight-is-dead-long-live-silverlight.aspx
http://team.silverlight.net/announcement/pdc-and-silverlight/
In summary, Silverlight is not going away. Microsoft is recognizing the true cross-platform potential of HTML 5, but the spec for that isn't even complete yet, and we've got years before there is consistent support for it across the most popular browsers. Silverlight is the basis for development on Windows Phone 7, which is a bet-the-farm play for Microsoft.
Speaking for myself, I'm getting ready to develop an entire ERP in Silverlight.
This was simply unaltered tech journalism which may have focused a bit much on the face value, without further probing and questioning which was courtesy of Mary J Foley. Read the BobMu post.
Let me sum up the HTML5 vs Silverlight debate saying this...use Silverlight to build web apps, and HTML5 to build web sites.
Silverlight is moving forward just as it was pre-PDC. Ignore the hype, it is just that...hype.

What silverlight dev must learn to use arcGIS silverlight?

I am already familiar with Silverlight programming but not have any experience with GIS.
my role as silverlight developer is only to display existing GIS data.
If you guys have any experience with arcGIS silverlight control & api, what else do you think I must learn to be able to use it.
any learning reference could be helpful. thanks.
you don't need alot, you can dl the SDK from ESRI and then check out thier help site they have crap-loads of examples, both downloadable source and live samples (with the source code). If you have a license, you can use bing maps in the ESRI silverlight control--there are assemblies in the SDK for that.
as an aside, the SDK also includes the WPF assemblies as well.
It helps to have a basic understaind of the ESRI Map and Graphics object model for any of their API's (they all have similarities). The Silverlight API is much simpler than the Arcobjects API, but shares many of the same patterns.
If you are performing specific operations (such as distance calculations, map annotating, etc) there may be very specific concepts that will help. Can you post a question with more details about your goal?
I have made some different projects that used GIS data. I haven't tried arcGIS but used Bing Maps (http://www.bing.com/community/blogs/maps/archive/2009/03/18/introducing-the-virtual-earth-silverlight-map-control.aspx) and a Silverlight component from ThinkGeo (http://gis.thinkgeo.com/Microsite1/MapSuiteSilverlight2/tabid/709/Default.aspx?adcampaign=Map+Suite+Silverlight+Edition&leadsource=Google&adgroup=Silverlight+General&adtype=search&keyword=silverlight+map&gclid=CIu976aW0Z0CFZ1h4wodwGsDsA).
I think that Bing Maps is really easy to work with and there is lots of help available online. Maybe that can help you with some starting resources to argGIS?!
Chris is right. The help site has enough samples. I don't have Silverlight skills, so I really struggled with it and I was pretty bad at it too. I think the silverlight learning curve is much steeper.
I tried to wire up GIS tools/buttons to a ribbon control. It sort of worked, a silverlight dev would do a better job:
View esri-silverlight-toc-png
If you just need to control visibility, between services. It's real easy. Or if you have one service, with layers inside that you need to control...that's easy too.
But if you need both, you will have to roll your own layer control. I wired it up to a treeview, but it doesn't look sexy. ESRI may have a better TableofContents control out now, they didn't when I was messing with it:
View esri-silverlight-png

Silverlight Webcam

Is it possible to access a webcam in Silverlight
From what I've read it's not possible in Silverlight 1.0 but what about 2.0... 3.0 ... 4.0?
It is now possible in Silverlight 4.0. Developer preview is available at http://silverlight.net/getstarted/silverlight-4-beta/
I'm afraid webcam support isn't available in Silverlight 2.0. You might hope for it to be added in a future version, but there's no easy way of doing it now... Saying this, some people have invented various hacks that use other technologies in combination with Silverlight to capture video from the webcam. They typically involve interfacing with Flash, which of course is perfectly capable of utilising webcams. See this article for an example (with source code included). It's not a pretty solution (at least in my opinion), and may not be 100% stable across browsers/platforms, but I think it's the best you're going to get for now. Perhaps you should submit feedback directly to Microsoft if you really want to see support in Silverlight 3.0 (though it's certainly been mentioned elsewhere, so it may already be on the to-do list).
Silverlight 4 supports web cams. To capture images you can use www.glo6.com/camera1.aspx
It saves encoded images to web server. If there is a need to motion tracking, save images regularly, and then compare them on your server with another application.
I asked a member of the Silverlight team when they would be coming out with webcam support, and he said, in effect, "Let's just say that it's a really high priority for Silverlight 4.0." That said, it hasn't been officially announced yet, so I wouldn't count on it until MS does make the announcement.
I've used the Silverlight -> JavaScript -> Flash hack in production code, and while it does work, it doesn't work very well. Among other things, it's a pain to keep the Flash camera synchronized with your Silverlight UI. The camera shows up on top of SL child window controls, for instance, and of course, doesn't obey the clipping rules for when, say, it should be scrolling out of sight in a list box. And animations are a PITA as well. It's all possible, just slow and unpleasant, and several orders of magnitude more work than it would be if MS just supported web cams in Silverlight.

Learn Silverlight or WPF first?

It seems that Silverlight/WPF are the long term future for user interface development with .NET. This is great because as I can see the advantage of reusing XAML skills on both the client and web development sides. But looking at WPF/XAML/Silverlight they seem very large technologies and so where is the best place to get start?
I would like to hear from anyone who has good knowledge of both and can recommend which is a better starting point and why.
Should you learn ASP.NET or Winforms first? ASP or MFC? HTML or VB? C# or VB?
Set aside the idea that there is a logical progression through what has become a highly complex interwoven set of technologies, and take a step back and ask yourself a series of questions:
What are your goals; how do you want to balance profit against enjoyment
Are you short term oriented or in for the long haul
Are you the type of person who likes to get good at something and do it a lot or do you get bored once you fully understand it?
The next and hardest step is to come to accept that any advice you are given is bound to be wrong; and the longer the time horizon the more likely it is to be incorrect. If the advice is for more than six to 12 months, the probability the advice is wildly incorrect approaches 1.
I can only tell you my story, quickly. In 2000 I was happy as a consultant working profitably in C++ on Windows applications, writing about ASP.NET and WinForms. then I saw C# and the world turned upside down. I never went back.
Two years ago I had the same kind of revelation, only an order of magnitude bigger, stronger and with more conviction about Silverlight. Yes, WPF is magnificent, and it may be that I'm all wet about this, but I believe in my gut that Silverlight changes everything. There was no doubt then and there is no doubt today that Silverlight is the most important development platform for Microsoft since .NET (certainly) and possibly since the switch to C++.
In a nutshell, here is why. I don't understand where its limitations are. With most platforms I do: you can do this, but you can't do that. WPF is a pretty good case in point, as was ASP.Net and WinForms and, well really everything until now.
With Silverlight, I don't see the boundaries yet. Silverlight has already leaped off the desktop onto phones, and I don't see any reason for it to stop there. Yes, it is true, it is bound by the browser, but I see that less as a jail cell than as a tank in which Silverlight will be riding over lots of terrain (it must be very late, I should go to bed).
In any case, for now, learning Silverlight is a gas, there is a lot of material on the Silverlight.net site, and what is the very best thing about learning Silverlight is that if you don't see what you need you can holler at me and I'll make sure you get it pretty quickly.
Enjoy, good luck and the dirty little secret is you'll be fine whichever you choose. It's all just software.
-jesse
Jesse Liberty
"Silverlight Geek"
I'd say go with Silverlight first!
I have programmed with WPF and Silverlight before.
But as Silverlight is a subset of WPF if you go in too deep and try to switch to writing Silverlight applications, you'll be scratching your heads looking for that "tag" you learned to love in WPF but is not available in Silverlight.
When you master the basic things in Silverlight first, the extra mechanism/trigger/whatever features in WPF will simply add to most of what you've already known.
Silverlight in WPF differs at the features level, not just some missing controls or animations. Take the WPF triggers mechanism for example, is not available fully in Silverlight.
So learning the smaller subset first, you can extend that knowledge to the full set later, but if you started at the full set and gets addicted to some of the niceties available, you'll have trouble down the line when someone asks you to port your designed-utilizing-WPF apps to Silverlight.
I'll go against the grain and say learn WPF first.
Here's my reasoning:
Much more resources are available for WPF than Silverlight, such as books, blogs, and msdn documentation
WPF Books
You're not dealing with a Beta, moving target
You don't have to deal with working with only asynchronous calls
Not limited by lack of features such as Merged Dictionaries, Triggers, TileBrushes, etc.
You don't have to worry about re-learning to do things correctly because of lacks of features in SL
Silverlight is a stripped down version of WPF so it should have fewer things to learn inside. On the other hand, the two platforms have different targets (web & rich client) so I guess it depends on what app you're going to build.
If you just want to learn for yourself (no app in the close future) I'd pick Silverlight because it would be less to assimilate. Still, Silverlight is pretty much a moving target, much more than WPF, so you'll have to keep up with some changes from time to time (the joys of being an early adopter :)).
WPF has lots more stuff that you will probably want to use at some point but I would wait for the needs to arise first.
Every industry expert I've heard on podcasts, blogs and interviews recommend learning Silverlight first and then gradually moving to WPF which is a huge UI framework.
Silverlight is light and allows you to work on smaller subset of controls and features such that you get your head around this new UI building paradigm based on,
Templating
DataBinding
Styles
Update: 07/2011
I hate to mention this, but in recent times Microsoft has put more focus on HTML5, Javascript and CSS by bringing forward powers of IE 9 and IE 10, as well as the upcoming Windows 8.
More and more developers and CTOs are skeptical about Silverlight as a LOB application platform as the time passes by, we are suspecting Silverlight will be limited to Windows Phone and niche, domain areas like healthcare of graphics related applications rather than a regular LOB app.
As it seems right now, as of summer 2011, the future might look fragmented with more opportunities for pure web technologies (HTML5, JS and CSS) as opposed to a plugin and OS-specific UI technology.
I would start by learning XAML, by reading a few tutorials and playing around with XAMLPad. This will give you a feel for the basics before actually building an app.
I would start with WPF and doing very simple control familiarizaton samples. You goal should be to learn XAML and Binding. So if you just create some basic WPF window apps will bootstrap your learning speed. Then eventually you can move to silverlight. Yeah as other mentioned here Silverlight is a subset of WPF.
Well, it depends on what you are going to be working on. If you are working on client/server, then I would go with WPF. If you are working in an environment where you can guarantee that .Net is installed on all of the machines, then I would go with WPF as well, because you can use what is called an XBAP, which is a WPF application that is run through the browser.
It's really up to you. However, I would state that silverlight is not RTM yet, and WPF is. WPF has a lot of books out on the subject, where silverlight does not. It may be easier to get the whole Zen of WPF by reading a few of those books, and then dive into which ever one you would like to play with.
Just keep in mind that silverlight has a subset of the controls of WPF, a paired down .Net framework, and does not do synchronous calls. As long as you know that up front, you can start learned the core of the whole foundation and tailor your practical experience later on to whichever technology is best for you.
Some tips at Getting started with Silverlight Development

Resources