It is a long time I did not find any time to post something due to big amount of work ( I will not complain on that), so I decide to come back shortly with Kinect V2.
Kinect V2 SDK Beta is out for public so it is time now for those who did not get the chance to play with the sensor on the preview developer program to make a first dive. Ben lower (Kinect Program Manager at Microsoft) offers you a smart approach within a presentation
Check his video :
Recently, I have been faced to a strange issue in one of our application.
That application has been validated to work on bigger screen size, and we notice at that time that bitmaps graphics was badly render on such big screen mainly due to different pixel size.
To solve that bad rendering of such bitmap on such screen size, we had to use the BitmapScalingMode property of an Image control.
<Image RenderOptions.BitmapScalingMode=”HighQuality” Source=”/Resources/key.png” Width=”40″ Height=”40″ Stretch=”Fill” VerticalAlignment=”Center”/>
Has shown is sample code above, setting the property to HighQuality value was rendering the image nicely on bigger screen. So far so good then.
Next steps was to test the application on this same type of screen but under Windows 8, working perfectly well as well until the time it has been updated to Windows 8.1 and get our application crash with an OutOfMemoryException.
After days of testing we have identify that it was occurring when used image was about 8 bits and 256 colors. This has been reported as a bug by Microsoft on Windows 8.1 update.
Different possible Work around:
- With your prefer graphic tool generate a files from your image with more depth
- If you have no control of the image you have and want to still use it you card converted from code by the following code snippets
BitmapSource ResizeImage(BitmapSource image, int width, int height)
var bmp = new FormatConvertedBitmap(image, PixelFormats.Bgr24, null, 0);
return new TransformedBitmap(bmp, new ScaleTransform((double)width/bmp.PixelWidth, (double)height/bmp.PixelHeight));
Hope this will save you some times 🙂
So long that I did not have time to post a new thing, this essentially due to a lot of business which was taking most of my time. Xmas holidays gives me the opportunity to write the following article on some experience approach I met by building a Windows 8 applications. What will follow are not all about Windows 8 development but basic key point of mine to approach safely a project.
Like any others when you want to learn for a new technologies or concept you are looking for free course provided not only by pro’s but also from professional people who succeed different real projects.
As a new comer on Windows 8.1 development due to some raising customer project, I was actually looking from different starting point on the technology and approaches. What was essential for me was to go to the right place and avoid a kind of step by step starting from the famous “Hello word”.
Reducing the learning curve is the key
My expertise is on C# and XAML by building different business application in a collaborative manner. So my main objective was to minimized the famous learning curve that all of us gets scared about when you have something real to produce. What I mean by something real to produce is not a simple project just to have fun and then say at the end “Yeah I got it”, but instead a business app that my customer is expecting on time and where he can measure his ROI based on given specification and objective, then you will finally able to say: “Yeah my customer is happy”. Taken from that last point of view, the learning phase approach is completely different and the only thing you need to know is essentially where you are going by following some of my rules:
- You know already a language ? if it suite your app, stick with it. If it is not, do whatever it is possible in order that I will fit your app
- Think of your application in a way that “what will it bring to my customer ?” instead of “what feature should I add ?“
- 1 Application + One customer goal = A unique app
- Identify as early as possible your application target ( Mobile or Dektop or Both)
- Plan your application architecture based on your target and app evolution
- Identify if your app should be Public or more Line of Business App (LOB)
- In case of business app ( use of SideLoading) , think carefully how you will sell your app and give it accessibility for download as it will be an external link from the Windows Store.
Line of business app :
Apps Certification :
Hands on Windows 8 development :
Application user interface and interaction : More important than ever
I am personally coming from a deep experience of application interaction and design in the Microsoft PixelSense world. I was in charge of building collaborative application and considering how you will bring your application content to your users. More than an important objective but a MUST to make your application unique and have your users being free to explore what you will provide by content. With Windows 8, that approach of user interface and design is even more important because you need to cover different type of devices resolution today as mobile screen are coming bigger, as well as taking care of devices sensor and present content correctly based on devices orientation.
Before anything the good thing is to go through the Windows 8 Design Guide Lines in order to understand why they are so important. We have seen so many poor apps running in the store which are pure adjustment of an existing web site without a real thinking of the user interaction.
Never forget that an application is appreciated by your users within the first 30 seconds
You have different solution available for that :
- Microsoft Blend for your SketchFlow ( can be time consuming if not used to )
- Microsoft Expression for your graphic design
- Microsoft Power-Point can be a nice and well known tool to elaborate design
- One bloc of paper and a Pen (Easier and faster solution)
During my all experience as developer and design interaction, I always come out with a basic sentence in mind who has confirmed all my successful deployments :
ALWAYS KEEP IT SIMPLE
You can have in hands the best tool ever, thinking for simple solution will help you a lot.
Tthe world is changing so fast actually that sometimes it is hard to follow but people start to get used sing few years and are always waiting for the next famulous innovation. We the big boom of slate device we have noticed that people could not go outside without it. They want to get in touch all the times with friends , news, business.. Slate are small device that people can bring anywhere and use it anytime. Recently we have noticed in a news broadcats that people now bring their slate at the beach during holiday !!! Woww is it a good thing or not ? I would say it depends on the used of it. In case you bring it to the beach for checking your email or stuff like that, I would says you can leave it in your appartment and have a break for showrt period of the year where you can think of other thing. If you are using it it to read a book, why not but your slate will have much chance to be stolen or broken at the beach that a real book of your choice. This are different scenario that I recently heard on TV and people now are smending much more time in front of their slate screen and wait for the thing that they expecting during the day.
Touch screens are part of our life
Today people are so used to touch screens that they naturally know what to do and how to do with it as a mater of use. Recently I have been in a computer shop and was looking for a specific device when I have notice a children coming next to be and start to explore as well computers in frontg of me. He goes in front a model of his choice and start slide content but it was not working, then he start again. I can see is sad face and then he goes too an other device and repeat the same gesture until he succeed. All this to say that this children like all the others have a first reaction to touch and this is natural.
With so much focus placed on smartphones, touch and gesture control and their
evolution, what will be the next big development in how people use digital
Check this nice article from Alex Hudson : Touchscreens “a small step” in innovation if your are curious and want to know more
That is done. Build 2013 start on June 26 and Steve Balmer reveal the new Windows 8.1 preview version that will suppose to like. A lot of things has change and improved based on customer and developper feedback on previous version.
Microsoft formally unveiled Windows 8.1 to developers on Wednesday, with executives promising a “rapid release” schedule to keep the pace of new innovations coming.
For those who have read PCWorld’s hands-on of the Windows 8.1 preview, Microsoft’s announcements were nothing new. Executives confirmed the reworking of the Start menu, new boot-to-Desktop options, as well as a slew of updated apps that take advantage of Windows 8.1, which can be downloaded in preview form from preview.windows.com.
For Microsoft, the Build 2013 developer conference represents a chance to connect or reconnect with developers, luring them back to the Windows platform. Although Microsoft is nearing 100,000 Windows 8 apps, that still falls well short of the millions of apps that have been written for the Apple iOS and Google Android platforms.
See full article for more information
For those like me who like to get a flexible code and easy maintenable possibilities as well as flexibilities, since I discover and implement the MVVM pattern with WPF, I can say that I could not leave without it.
Before going to that pattern I have test different approach like Prism, MVVM ToolKit and other open source project. Based on my test result and personnal needs, my choice goes to MVVM tool Light toolkit. Why? simply because of its name ” Light” . Prism so far was a too heavy package based on what I was using.
What is cool is that the MVVM Light tool kit is nicely maintenain by Laurent Bugnion and get an update version for Windows 8 actually.
Those post below describe the MVVM pattern under Windows 8 and WinRT. Nice articles to step in and discover some interresting points covered:
There are a lot of sources of information on the net where you can get different topics based on Surface application design. For one case where I need to present to a customer an overview on designing Surface Application, I though it would be much easier to get basic information, group in a presentation that I coud reuse at any time.
This is what I have done so far and customer personnal attending such presentation really appreciate . Clear enough, concentrate with the essential.
Note that this is not a support for developping an application but more a starting point on what you should know, mixed with my own experience from the field.
As it has been really usefull work for me, I decide to share it with you.
You can view the presentation here
Good luck !