(X) Hide this
    • Login
    • Join
      • Say No Bots Generate New Image
        By clicking 'Register' you accept the terms of use .

NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote

(6 votes)
Walter Ferrari
>
Walter Ferrari
Joined Dec 17, 2009
Articles:   19
Comments:   12
More Articles
12 comments   /   posted on Apr 19, 2011
Categories:   Out-of-Browser , General

Introduction

The first time I heard about the Native Extension for Silverlight, I wondered: well, in what context can I use this? In what kind of scenario? And overall, is it something really usable? In this article I will try to test one of the features included in NESL, i.e. the capability of interacting with motion sensors. At the end I used the popular wiimote controller since it has a built-in accelerometer. Read the rest of the story to find out the test result.

app

 

Introduction to NESL

You as Silverlight developers surely know that from scratch Silverlight was meant as something running in a browser inside a security sandbox. The things started getting a little more articulated when Silverlight 3 introduced the “Out Of Browser” option but this did not change anything in terms of security and/or permissions.

With Silverlight 4 something really changed: the developer could decide to require “elevated trust” for his OOB application. This resulted in a more permissive sandbox. But it was not over. Silverlight 4 also opened a fast lane to the underlying OS, Windows just to be precise, by means of which trusted applications could call COM objects through IDispatch interface. What did it mean? It meant that an OOB trusted Silverlight app could do virtually everything with a suitable COM component already installed on the PC.

However... how many Silverlight compliant (i.e. COM objects exposing IDispatch) COM components are available on the Windows platform? This is what the NESL team wondered before starting the project, I assume. In fact, most Windows Seven platform services do not expose themselves as “friendly” COM components. This is the main reason behind NESL. In short, NESL allow the Silverlight developers to get access to those services which are not reachable if using COM automation. Not all the services are covered of course, but a selected set which is supposed to be growing in time.

To recap, NESL is a weapon that you can use in your Silverlight OOB trusted applications to take advantage from a relevant set of Windows Seven features and exactly when I focused on this, a new reading of the acronym crossed my mind: NESL = No (Except Seven) Limits to Silverlight instead of the officially Native Extensions for Silverlight. In fact, using this approach you can allow Silverlight to do pretty much anything. This possibility was already there when access to COM Automation was added to Silverlight 4, but one thing is to write C++ COM automation components by yourself, and a different thing is if someone else does the drudgery for you.

 

Start using NESL

At the time I am writing this article, the newest NESL version available is the 2.0. from this link:

http://archive.msdn.microsoft.com/nesl

you can check for the current version and then go to the download section where you can download the binary runtime, the source code and the documentation. The source code includes a set of classes packaged into appropriate Silverlight libraries that act as wrappers on the native components providing the automation. The source code includes also some examples showing how to use these Silverlight libraries. The native components are in the runtime library and its source code is not available.

The libraries included in the version 2.0 of NESL are essentially:

 

Assembly name Content
Microsoft.Silverlight.Windows Base classes and helper classes for installation
Microsoft.Silverlight.Windows.LocalEncode Classes for local audio/video encoding
Microsoft.Silverlight.Windows.Platform Classes for Windows messages, try area notification and helper classes for the other libraries
Microsoft.Silverlight.Windows.PortableDevices   Classes for interaction with portable devices
Microsoft.Silverlight.Windows.Sensors Classes to access the Windows 7 Sensor API
Microsoft.Silverlight.Windows.Speech Classes to use Windows 7 Speech-to-Text and Text-to-Speech capabilities
Microsoft.Silverlight.Windows.Taskbar Classes to interact with the Windows 7 taskbar
Microsoft.Silverlight.Windows.Touch Classes to manage touch features

 

What you need to do in order to get the benefits offered by NESL in your application is:

  1. Install the native runtime of NESL (both “exe” and “msi” setup are provided)
  2. Enable “Out of Browser” option and “require elevated trust…” sub-option in your Silverlight application
  3. Include some of the libraries in the table above depending on the windows 7 platform feature you want to use (the first library in the list is always required)

Having said that, you have to bear in mind that when you deliver your application to the users, they do need to install the NESL runtime as well. This means practically that they have to install and register one or more COM components and this requires admin rights. Fortunately, in NESL there are some helper classes that allow you to automate the process of installation of the runtime. In brief, you can either package the NESL installer in the xap file of your application or you can leave the installer in a website and use the install helpers to download the runtime silently.

 

A look at the NESL Sensor API

When I started playing with NESL, I was soon captured by the idea of writing something capable to read and display data coming from a sensor. Reading a bit more in depth I realized that the Sensors Silverlight library, provided in the source code package, is a wrapper class for the SLSensorShim.dll, the component of the NESL runtime which exposes automation for the so called Windows 7 Sensor and Location Platform API. This API provides a standard way to integrate sensor and location devices with Windows 7, basically a guide for the manufacturers and a standard programming model for developers who want to use these devices in their applications.

Without going through too many details (there is the NESL developer’s guide for that) the NESL Sensor API includes various categories of sensors, location, environmental, orientation, electrical, mechanical, motion, biometric, light and scanner sensors. The usage of the API is fairly simple: you create an instance of the SensorManager type and use, for instance, the GetSensorsByCategory() method to get a collection of Sensors of a specific category or use the GetSensorsByID() to get the Sensor with the specific ID. Once you have the Sensor, you can handle the sensor events in order to know the state of the Sensor, or when it has been disconnected or even it has new data to report.
Well, I thought, now I just need some kind of sensor to start trying these things out, but.. which sensor? Unfortunately, the biometric device on my notebook was not exposed as a biometric sensor and I started casting around for a suitable device until I remembered that two years earlier I had bought a wiimote controller to make some weird experiment with a bicycle (an attempt to calculate the power of pedalling through acceleration measurements) and then I had just left it in a drawer. So I wondered if I could use it as a motion sensor; a quick googling led me to the CodeProject site where there was an article explaining a “sensor motion driver for the Wiimote”. Well, I thought, here we are.

 

Testing the NESL Sensor API using a Wiimote controller

Stop and think for a moment: we have a Silverlight application running out of box but still in a sandbox layer, then we have the “Sensor and Location Platform” layer and above the “NESL Sensor” layer providing COM automation. Putting it all together could possibly cause a little overhead? To test it better I decided to use an old 5 or 6-year old notebook equipped with a Mobile Intel Centrino M 760, 2 Gb RAM and a video card with 256 Mb RAM, not exactly a monster of speed but a test lab consistent with a real world scenario.

As I anticipated in the previous paragraph on CodeProject at the following link:

http://www.codeproject.com/KB/system/wiisensor.aspx

you can find a great article entitled “Writing a Sensor Driver for the Wiimote on windows 7”. It is an excellent tutorial on how to write a sensor driver and provides a working sensor motion driver for the wiimote. Furthermore, it guides you step by step through the various phases of installation of the driver.

To make the test application more attractive I looked for a nice gauge control and eventually I found it through some free controls available from Telerik at this link:

http://www.telerik.com/products/free-silverlight-controls.aspx

At this point the recipe is ready:

  • An old notebook with Windows 7 (x86)
  • A wiimote controller
  • A wiimote sensor driver
  • A nice gauge control

The additional steps to follow are:

  • pairing the wiimote with the notebook
  • initializing the Wiimote running the WiimoteTest app
  • install the motion sensor driver
  • develop the OOB Silverlight application

The first three steps are well explained in the above mentioned article here, and here. Alternatively, you can watch this short video showing how I did with my notebook.

 

The Silverlight OOB test application

Once the wiimote is connected and enabled as a sensor you are ready to test the NESL Sensors library in your applications. I prepared a video showing how to build the test application capable of interacting with the wiimote in less than 10 minutes. First thing to do is to make your application running out of the browser with elevated trust as shown below:

oob

 

Then you have to include some references to some NESL libraries and to some Telerik libraries (for the gauge control) :

references

 

For the look and feel of the application I inserted three gauge controls, a picture showing the tree axis of the wiimote and the output of a webcam connected to the notebook as below:

app

 

I put the video window to see if there is direct feedback between the movements of the wiimote and the needles of the gauges controls.

Just a few words on the Telerik gauge controls; here there is the xaml code I used for the first of them:

 1: <telerik:RadialGauge Height="200"  HorizontalAlignment="Left" Margin="46,8,0,0"
 2:                       Name="radialGaugeX" VerticalAlignment="Top" Width="200" >
 3:  
 4:     <telerik:RadialScale x:Name="radialScale" Min="-10" Max="10" MajorTicks="10"
 5:                     MiddleTicks="2" MinorTicks="1">
 6:  
 7:         <telerik:RadialScale.MajorTick>
 8:             <telerik:MajorTickProperties />
 9:         </telerik:RadialScale.MajorTick>
 10:         <telerik:RadialScale.MiddleTick>
 11:             <telerik:MiddleTickProperties Length="0.05" />
 12:         </telerik:RadialScale.MiddleTick>
 13:         <telerik:RadialScale.MinorTick>
 14:             <telerik:MinorTickProperties Length="0.01" />
 15:         </telerik:RadialScale.MinorTick>
 16:  
 17:         <telerik:RadialScale.Label>
 18:             <telerik:LabelProperties FontSize="10" />
 19:         </telerik:RadialScale.Label>
 20:  
 21:         <telerik:IndicatorList>
 22:             
 23:             <telerik:Needle x:Name="gaugeX_needle" IsAnimated="true" Value="0" />
 24:         </telerik:IndicatorList>
 25:     </telerik:RadialScale>
 26: </telerik:RadialGauge>

 

I used here the Radial style but you can choose also a Linear option. There is the possibility to define scales, ticks and choose between 5 indicators.

As far as the sensor management is concerned, all is condensed in the following piece of code:

 1: void MainPage_Loaded(object sender, RoutedEventArgs e)
 2:  
 3:    if (Application.Current.IsRunningOutOfBrowser && Application.Current.HasElevatedPermissions)
 4:    {
 5:        try
 6:        {
 7:            SetupWebcam();
 8:  
 9:            sensorManager = new SensorManager();
 10:  
 11:            //get the accelerometer
 12:            WiiAccelerometer = sensorManager.GetSensorsByCategory(
 13:              SensorCategories.SENSOR_CATEGORY_MOTION).FirstOrDefault();
 14:            
 15:            //if one exists
 16:            if (WiiAccelerometer != null)
 17:            {
 18:  
 19:                // WiiAccelerometer.SetProperties(new PropertyValue[] {new PropertyValue(new PropertyKey(SensorProperties.Base, 
 20:                // SensorProperties.SENSOR_PROPERTY_CURRENT_REPORT_INTERVAL), (uint)1000)});
 21:                                        
 22:                //handle the data updated event
 23:                //WiiAccelerometer.SensorDataUpdated += new EventHandler<SensorDataUpdatedEventArgs>(OnSensorDataUpdated);
 24:  
 25:                AccelerometerMovementThreshold = 0.01;
 26:                
 27:                myDispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 100); // Milliseconds 
 28:                myDispatcherTimer.Tick += new EventHandler(Each_Tick);
 29:                myDispatcherTimer.Start();
 30:            }
 31:        }
 32:        catch (Exception Ex)
 33:        {
 34:            MessageBox.Show(Ex.Message, "ERROR", MessageBoxButton.OK);
 35:        }
 36:    }

As you see, it’s a matter of creating a SensorManager instance and look for your motion device using the GetSensorsByCategory(…) method (I took the first of the list since I was sure it was the only one present). Here I commented on the suggested way to go in the draft developer’s NESL guide : each motion sensor is required to produce a report of their data within a given interval of time, you can force this time at the value you want by setting this property SENSOR_PROPERTY_CURRENT_REPORT_INTERVAL. Then you can receive a notification of changes in the data adding an event handler to the SensorDataUpdated event.

Unfortunately, this approach does not work in my case, that’s why I commented these lines of code. The application crashes when it tries to set the new interval report. I gave a quick look at the sources of the wiimote sensor driver and I found that the interval report is set to 0. I did not investigate further and I opted for a classic timer approach where I asked for the data from the sensor and I checked if the difference between the current and the previous value exceeds a certain threshold. Here below is the code of the timer function:

 1: public void Each_Tick(object o, EventArgs sender)
 2:  {
 3:      //timestamp
 4:      //DateTime dt = e.NewData.TimeStamp;
 5:      //create the property keys for the data fields to query
 6:      PropertyKey propKey_X_G = new PropertyKey(MotionDataFields.Base,
 7:        MotionDataFields.SENSOR_DATA_TYPE_ACCELERATION_X_G);
 8:      PropertyKey propKey_Y_G = new PropertyKey(MotionDataFields.Base,
 9:        MotionDataFields.SENSOR_DATA_TYPE_ACCELERATION_Y_G);
 10:      PropertyKey propKey_Z_G = new PropertyKey(MotionDataFields.Base,
 11:        MotionDataFields.SENSOR_DATA_TYPE_ACCELERATION_Z_G);
 12:  
 13:      //query the data fields
 14:      List<PropertyValue> accelerationValues =
 15:            WiiAccelerometer.Data.GetSensorValues(new PropertyKey[] { propKey_X_G, propKey_Y_G, propKey_Z_G }).ToList();
 16:      //do the necessary conversions
 17:      double accel_XAxis = Convert.ToDouble(accelerationValues[0].Value); deltaX = lastX == 0.0 ? 0.0 : lastX - accel_XAxis; lastX = accel_XAxis;
 18:      double accel_YAxis = Convert.ToDouble(accelerationValues[1].Value); deltaY = lastY == 0.0 ? 0.0 : lastY - accel_YAxis; lastY = accel_YAxis;
 19:      double accel_ZAxis = Convert.ToDouble(accelerationValues[2].Value); deltaZ = lastZ == 0.0 ? 0.0 : lastZ - accel_ZAxis; lastZ = accel_ZAxis;
 20:  
 21:  
 22:      //do something with the values
 23:      if (deltaX > AccelerometerMovementThreshold || deltaY > AccelerometerMovementThreshold || deltaZ > AccelerometerMovementThreshold)
 24:      {
 25:          gaugeX_needle.Value = accel_XAxis * 10;
 26:          gaugeY_needle.Value = accel_YAxis * 10;
 27:          gaugeZ_needle.Value = accel_ZAxis * 10;
 28:      }
 29:  
 30:  }

 

Test results

I have to say that the test results are encouraging. Compiling in release mode and using a timer interval of 100 ms the application seems well responsive even with an old and slow notebook. Not the same in debug mode, where the application freezes sometime for a while. I have to add that I was unable to record my video showing the application in action using the Microsoft Expression Encoder screen capture and I had to use an external videocamera. However, honestly I was asking too much of my notebook here.

 

Summary

In this article we have seen that virtually there are no limits to what Silverlight actually can do; we can even make it speak with a wiimote. The key tool behind that is NESL, a library which provides friendly Silverlight wrapper classes and a runtime which exposes COM automation for most of the features of windows 7 platform. How efficient and practical is this approach? In the article we have tested the NESL Sensors API and the results appear to be encouraging. The question is: what about this library when Silverlight 5 will arrive with, as it seems (see keynote), Platform Invocation (Pinvoke) enabled to in-browser trusted applications ?

Download the source code of the test application

About the Author

Walter Ferrari is an environmental engineer and cultivates his passion for software development for a long time. He is currently a consultant working for his company, Abertech. He develops applications based on Microsoft technologies since 1995 and works primarily with .NET since 2003. He is currently focused on Silverlight and Sharepoint and acts as representative of CompletIT/SilverlightShow.
Walter is used to wearing a helmet while writing code..just to avoid serious damages when slamming his head against the monitor :) He blogs about his passion at http://www.snello.it/eng

 


Subscribe

Comments

  • -_-

    RE: NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote


    posted by Simon on Apr 26, 2011 17:48
    This is amazing... Thanks for the great tutorial. Currently I'm focusing on understanding VB.NET Dialogs but I plan on jumping over to this soon. Thanks!
  • -_-

    RE: NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote


    posted by Jumba Juice on May 20, 2011 05:49
    Any experience with NESL and getting Flick/Pan to fire ?
  • Yui234

    Re: NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote


    posted by Yui234 on Feb 13, 2015 15:57
    Struggling to care for their daughter Willow, who was born with brittle bone disease, Charlotte and Sean O'Keefe add additional strain to their overburdened family life when they file a lawsuit against Charlotte's obstetrician. Definition of Osteoporosis . You can read the whole story here. klik di sini . With so many incredible king cakes around town, it's no wonder that The Daily Advertiser subscribers, or insiders as we like to call them, had trouble picking a favorite from the 10 bakeries featured in our blind tasting party held Jan. 21. What is bonito flakes . This is the recipe that you want. lihat artikel . Introduction Start your day right with a healthy breakfast Healthy breakfast refuels your body, jump-starts your day and may even benefit your overall health. It might be the last thing on your morning to-do list, or worse, it might not be on your list health benefits of eggs . you will be able to maintain your health by following this instruction baca artikel . Apakah anda saat ini sedang menderita sakit penyakit dan anda membutuhkan obat untuk menyembuhkan penyakit tersebut? Kenapa anda tidak mencoba obat tanaman herbal? Obat tanaman herbal saat ini semakin medapatkan tempat karena lebih aman. Buah, biji, daun, rimpang dan akar berkhasiat obat . Lihat info lengkap tanaman herbal lainnya silahkan baca selengkapnya . Guitar Chords This book was created in response to many requests for a catalog of elementary guitar chords arranged in a photo-diagram form for maximum ease in understanding and playing. someone like you chords . If you want to collect some chords from popular song, you can click here. klik di sini . Apakah anda membutuhkan karangan bunga untuk berbagai acara? Saat ini sudah hadir bunga.id yaitu toko online bunga di kawasan cilacap yang bisa membantu anda memenuhi kebutuhan anda akan bunga-bunga dalam berbagai bentuk dan fungsi. toko bunga cilacap . Cek koleksi karangan bunga kami di sini. kunjungi blog . Saat ini produk perawatan kesehatan organ kewanitaan yang paling laris adalah Crystal X yang diproduksi oleh NASA. Jika anda ingin mendapatkan produk Crystal X yang asli, maka anda harus membelinya dari agen-agen resmi PT NASA. harga resmi dan murah crystal x asli . Dapatkan penjelasan lengkap produk crystal X dari sini. read more . Saat ini orang-orang pada ramai mencari peluang usaha yang bisa menghasilkan keuntungan bisnis yang besar namun dengan resiko yang sekecil-kecilnya. Jadi jika anda juga sedang mencari konsep usaha yang sejenis, maka anda bisa mencoba mencari infonya di sini. info bisnis 2015 . Ini dia peluang usaha yang sudah menanti anda click here . Kata mutiara yang menyejukkan hati memang bisa memotifasi yang mendengarnya. Bagi anda yang mencari kata-kata mutiara yang islami yang menyejukkan hati anda bisa mendapatkannya dari blog kami. Silahkan mampir di blog kata mutiara kami. kata bijak cinta kehidupan . Koleksi kata mutiara lainnya cek di sini download di sini . Saat ini sudah banyak penyedia jasa layanan travel wisata untuk pulau tidung. Kenapa? Karena pulau tidung adalah salah satu kawasan wisata yang demikian populer dan keberadaan jembatan cinta, pasir putih, dan masih banyak lagi akan menjadi atraksi wisata yang menarik. pulau tidung murah . Lihat paket wisata pulau tidung dari kami kunjungi website kami . Peluang usaha yang anda cari pun pastinya tidak lepas dari resiko. Jadi anda harus mencari info lengkap seputar peluang usaha yang ingin anda coba sebelum anda berinvestasi. Dapatkan info peluang usaha terbaru hanya di sini dan anda bisa mencobanya sekarang. Peluang usaha modal kecil . dapatkan berita peluang usaha terbaru hanya di sini baca di sini . Saat ini disekitar kita ada banyak sekali fakta unik yang menarik untuk diperhatikan. Sekarang kita bisa melihat bahwa ada banyak sekali fakta unik yang bisa disajikan untuk anda. Jika anda tertarik silahkan baca beberapa di antaranya. cerita islami . ini dia fakta unik di sekitar kita, dapatkan juga cerita lucu dan musik islami. kunjungi website kami . Apakah anda membutuhkan jasa penerjemah tersumpah? Jika anda membutuhkan jasa penerjemah bahasa asing ke indonesia atau sebaliknya anda bisa menghubungi kami. Kami mempunyai banyak penerjemah profesional yang bisa membantu anda. jasa penterjemah dokumen bahasa jepang, korea, china, jerman, & perancis . Baca paket penerjemah yang ada di sini. lihat penjelasan lengkapnya . Apakah anda membutuhkan hotel di depok? Coba cari dari panduan di bawah ini apa saja yang bisa menjadi pilihan anda untuk mendapatkan hunian di hotel depok. Di sini juga anda bisa memilih fasilitas dari hotel yang ada di depok. Sewa Apartemen Harian Di Depok . Apakah anda mencari akomodasi penginapan apartemen ataupun hotel di depok? baca artikel . Apakah anda ingin membuat kue donat? Saat ini ada banyak sekali ragam kue donat tapi donat kentang adalah yang cukup banyak menarik minat karena donat ini empuk dan gurih. Jika anda membutuhkan resep donat, maka silahkan kunjungi blog kami. cara membuat donat kentang . Ini dia resep donat paling nikmat yang bisa anda coba. baca di sini . Jika anda mengadakan sebuah acara dan anda memerlukan sebuah canopy kain, maka canopy jaya awning adalah pilihan terbaik anda. Anda bisa mendapatkan banyak pilihan canopy kain. Silahkan hubungi kami di sini untuk info lengkap aneka canopy kain. canopy awning . Jika anda mau memesan canopy kain hubungi kami lihat artikel . Jika anda ingin memperindah ruangan, maka lapisan vinyl murah bisa menjadi pilihan anda, lantai vinyl murah bisa anda dapatkan dengan membelinya dan memesan secara online, aneka ragam motif tersedia untuk anda. Jadi jika anda ingin mendapatkan lapisan vinyl silahkan hubungi kami. Lantai kayu parket . Apabila anda butuh info lengkap masalah Vinyl Kayu hubungi kami baca artikel . Saat ini semakin banyak orang yang membangun di sana sini. Oleh karena itu kebutuhan batu bata merah expose semakin meningkat. Ini adalah sesuatu yang bisa kita lihat dari meningkatnya pemesanan batu bata expose murah ini. jual batu bata ekspose . Jika anda ingin memesan batu merah ini hubungi kunjungi blog . Vimax adalah obat kuat dari kanada yang dipakai untuk memperbesar ukuran kelamin pria, jika anda membutuhkan vimax asli, maka silahkan menghubungi agen vimax yang menjual produk asli dari kanada ini. Kunjungi website kami di sini. vimax asli . Obat pembesar kelamin terbaik ini terbukti ampuh. silahkan baca selengkapnya . Obat kuat yang aman dan bisa meningkatkan stamina pria saat ini sedang banyak dicari kaum pria yang bermasalah dengan kejantanannya, jadi di sini saya mau memperkenalkan obat kuat kamasutra yang sudah membantu banyak pasangan untuk kebih menikmati hubungan seksual. obat pembesar . Baca aturan pakai dari obat kuat kamasutra silahkan baca selengkapnya . Berikut ini adalah ragam membuat menu horizontal di blogspot. Anda bisa mencoba membuat menu horizontal ini dengan mengikuti langkah-langkah yang mudah berikut ini. Menu horizontal ini juga dibuat untuk drop down. cara membuat menu drop down dengan mudah di blogspot . Belajar cara membuat email hanya dari blog ini silahkan baca selengkapnya . Sering kali kita senang melihat tampilan website yang dinamis dan kita mau ada teks atau tulisan berjalan di dalamnya. Jika anda menginginkan hal yang sama, maka anda bisa memakai kode marquee. Teks berjalan akan membuat tampilan web anda lebih menarik cara membuat tulisan berjalan di halaman blog anda . dapatkan juga panduan cara memulai blog anda klik di sini . Jika anda suka berbelanja online, maka silahkan coba lihat produk fashion kami. Aneka ragam sepatu tas, dan kalung di sini bisa anda coba dan bisa anda dapatkan sebagai pelengkap busana anda sehari-hari. jual aksesoris dan tas online . Jika anda ingin belajar cara membangun blog anda dengan benar, maka anda bisa mempelajari SEO dan teknik pemula lainnya. lihat artikel .
  • jeparaonline

    Re: NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote


    posted by jeparaonline on Feb 18, 2015 18:00
    Anda mencari produk Mebel Jepara Minimalis dengan desain minimalis ataupun klasik asli mebel jepara dengan harga murah. kami menyediakan berbagai tipe atau model produk Mebel Jepara Minimalis Jati terutama dengan menggunakan material kayu jati. Disni saya menjual produk produk mebel mulai dari kursi tamu minimalis meja makan jati tempat tidur dan sebagainya. Untuk indormasi lebih lanjut anda bisa langsung menuju katalog website kami. Produk produk yang kami tawarkan mempunyai kualitas tinggi dan kami menawarkannya dengan harga yang cukup terjangkau, tentunya kualitas produk tersebut akan kami jaga. Produk Mebel Jepara Minimalis selalu banyak diminati oleh banyak konsumen baik itu dari dalam maupundari luar negri. Banyak sekali turis turis asing berbondong bondong ke jepara dengan tujuan yang sama seperti anda yaitu untuk mencari produk Kursi Tamu Jati Minimalis. Kami Mebel Jati Minimalis sebagai produksen furniture memberikan anda kemudahan untuk berbelanja produk furniture jepara dengan aman melalui transaksi online, kami menyediakan berbagai model di dalam katalog website kami. Anda cukup duduk santai di ruamh, kami kerjakan produk pesanan anda dan tentunya kami akan memberikan garansi jika produk tidak sampai ke tangan anda ataupun produk Mebel Jepara Minimalis yang anda pesan tidak sesuai dengan pesanan. Setiap produk kami, kami proses dengan sangat terkontrol, baik itu dalam hal pemilihan kayu, proses kontruksi, pahatan ukir hingga proses finishing. Oleh karena itu kami sebagai perusahaan Mebel Jepara Minimalis selalu mengutamakan kualitas produk serta meningkatkan pelayanan yang ramah kepada anda. Jepara memang dikenal sudah sejak lama sebagai kota industri Mebel Minimalis terbesar di asia hingga dunia. Kualitas produk dari jepara sudah banyak di akui oleh beberapa negara. Kota Jepara sendiri selalu menjadi langganan aktif dalam setiap pengadaan pameran furniture Mebel Jepara Minimalis. Banyak sekali produk produk yang di tawarkan disana, baik itu dengan model minimalis ataupun klasik. Salah satunya yang menjadi produk unggulan mebel jepara yaitu Kursi Tamu Jati Minimalis yang sangat cantik dengan keaslian ukiran khas mebel jepara yang terukir rapih dan halus di setip sudutnya. Ada juga produk unggulan lain seperti tempat tidur, meja makan, set meja makan dan banyak lainnya. Furniture Jepara Online Oleh karena itu mulai dari lima tahun terakhir kami sudah mengembangkan untuk pembelian produk furniture dengan menawarkannya di Mebel Minimalis yang sudah berkembang hingga sekarang. Anda dapat memilih produk produk furniture tersebut diatas tadi di katalog produk kami tersebut disini sebagai produksen furniture memberikan anda kemudahan untuk berbelanja produk furniture jepara dengan aman melalui transaksi online, kami menyediakan berbagai model di dalam katalog website kami. Anda cukup duduk santai di ruamh, kami kerjakan produk pesanan anda dan tentunya kami akan memberikan garansi jika produk tidak sampai ke tangan anda ataupun produk Mebel Jepara Minimalis banyak sekali yang dapat anda pilih. Untuk bertransaksi dalam pembelian sebagai produksen furniture memberikan anda kemudahan untuk berbelanja produk furniture jepara dengan aman melalui transaksi online, kami menyediakan berbagai model di dalam katalog website kami. Anda cukup duduk santai di ruamh, kami kerjakan produk pesanan anda dan tentunya kami akan memberikan garansi jika produk tidak sampai ke tangan anda ataupun produk Mebel Jepara Minimalis secara online dengan kami, anda tidak perlu ragu, karena perusahaan kami sudah diakui dan mempunyai ijin kerja yang bersangkutan dengan hukum. Jadi apabila anda ada keluhan saat bertransaksi Mebel Jepara Minimalis dengan kami, jaminan keamanan 100% di toko kami Mebel Jati Jepara produk produk kami berkualitas karena dikerjakan oleh tenaga mebel yang sudah berpengalaman dibidangnya. Untuk katalog produk anda bisa klik link berikut Gambar Tempat Tidur Jati Minimalis kami sudah mulai membuka pemesanan dengan anda cukup dengan santai diruamh, anda tinggal menyodorkan bagaimana produk mebel yang anda inginkan, anda dp maka kami akan kerjakan, untuk lama proses tergantung tingkat kerumitan produk pesanan, itu smua bisasa kami tawarkan secara Tips Sebelum Membeli Furniture Minimalis Diantaranya anda dapat memesan produk sebagai produksen furniture memberikan anda kemudahan untuk berbelanja produk furniture jepara dengan aman melalui transaksi online, kami menyediakan berbagai model di dalam katalog website kami. Anda cukup duduk santai di ruamh, kami kerjakan produk pesanan anda dan tentunya kami akan memberikan garansi jika produk tidak sampai ke tangan anda ataupun produk Meja Makan Minimalis dengan harga yang sesuai dengan kantong anda. Mebel Jepara Minimalis memang sedang maraknya disaat perkembangan yang semakin canggih, tetapi anda jangan mudah tertipu dengan tergiur harga yang jauh dibawah harga normal. Produk unggulan mebel jepara seperti Pintu Gebyok rata rata dijual dengan harga standart yaitu di kisaran Rp. 7.000.000, dan untuk produk Tempat Tidur Jati Minimalis ada di kisaran harga berkisar antara Rp. 3.000.000 hingga Rp. 30.000.000 tergantung tingkat kesulitan dan bahan material seperti yang saya terangkan diatas. Tersedia model kamar set dengan type Kamar Set Jati Minimalis yang anda bisa lihat disini. Kami menyediakan layanan online untuk pemesanan Mebel Minimalis dengan sistem online. sebagai produksen furniture memberikan anda kemudahan untuk berbelanja produk furniture jepara dengan aman melalui transaksi online, kami menyediakan berbagai model di dalam katalog website kami. Anda cukup duduk santai di ruamh, kami kerjakan produk pesanan anda dan tentunya kami akan memberikan garansi jika produk tidak sampai ke tangan anda ataupun produk Meja Makan Jati Minimalis juga tersedia di toko kami. Banyak pilihan produk produk mebel yang ada di toko kami, diantaranya Kursi Tamu Jati Minimalis dengan harga yang bervariasi dan tentunya sangat kompetitif. Ada juga produk unggulan lain seperti tempat tidur, meja makan, set meja makan dan banyak lainnya. Oleh karena itu mulai dari lima tahun terakhir kami sudah mengembangkan untuk pembelian produk furniture dengan menawarkannya di Mebel Minimalis Ada juga produk unggulan lain seperti tempat tidur, meja makan, set meja makan dan banyak lainnya. Oleh karena itu mulai dari lima tahun terakhir kami sudah mengembangkan untuk pembelian produk furniture dengan menawarkannya di Mebel Minimalis Jepara yang sangat cantik dengan keaslian ukiran khas mebel jepara yang terukir rapih dan halus di setip sudutnya. Ada juga produk unggulan lain seperti tempat tidur, meja makan, set meja makan dan banyak lainnya. Oleh karena itu mulai dari lima tahun terakhir kami sudah mengembangkan untuk pembelian produk furniture dengan menawarkannya di Furniture Jepara dalam hal ini saya ada rekomendasi untuk anda untuk berkonsultasi terlebih dahulu dengan pakarnya, anda bisa langsung menuju untuk saat ini mebel jepara memang sudah sangat berkembang, jepara terkenal hingga ke mancanegara sebagai pusat industri mebel terbesar di dunia, produk produknya sudah banyak yang di export ke mancanegara, salah satunya italy Mebel Minimalis
  • RikoYudiansyah

    Re: NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote


    posted by RikoYudiansyah on Mar 26, 2015 13:45
    merupakan baca selengkapnya sekian banyaknya toko yang menjual obat pembesar penis secara online, produk obat yang kami jual sangat bersaing dengan toko online baca selengkapnya lainnya bahkan bisa dikatakan lebih murah. Walaupun begitu kami tetap menjaga toko kami agar tetap terdepan yang bisa melayani anda para pasangan Kami paham baca selengkapnya akan kebutuhan dimana sudah menjadi rahasia umum kebanyakan pria indonesia memiliki ukuran penis standard hal ini tentu menjadi momok untuk kebanyakan orang terutama bagi pasangan suami istri baca selengkapnya yang baru menikah. Dengan ukuran penis yang kecil tentu anda tak akan mampu memuaskan nafsu pasangan anda. see this Jangan percaya bila ada orang bilang ukuran penis bukan inti dari check website sebuah hubungan keluarga, Dengan ukuran besar jual obat kuat paling murah , tentu sang wanita akan mudah sekali merasakan klimaks hingga berkali kali dan mendapatkan kepuasan seks dari anda, baca selengkapnya ingat keharmonisan keluarga 50% dari bagaimana cara anda memuaskan sang istri. baca selengkapnya maka coba perhatikan apa saya lagi bangung blog baru pusat informasi check here maka untuk lihat ini.
  • Cheryl

    Re: NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote


    posted by Cheryl on Apr 29, 2015 13:44

    Mau info toko tas online di Bandung yang menjual berbagai macam tas untuk keperluan wanita dan anak-anak seperti tas-tas wanita yang branded dari berbagai merek terkenal seperti Louis Vuitton, Prada, Brussels, Furla, Chanel, Hermes, dan banyak lagi tas branded wanita lainnya dengan bermacam model seperti dompet, slingbag, handbag dan tote bag, yang trendy dengan harga yang terjangkau? Silahkan cek di Bee Bagshop grosir tas online di Bandung yang menjual tas-tas dengan moel dan warna yang bervariasi dengan harga yang murah. Selain tas wanita, kami juga menjual tas sekolah anak model selempang dan ransel yang juga branded tiruan seperti jansport dan kipling dengan banyak variasi model dan warna, dijamin putra-putri anda menyukainya.

    Bagi yang ingin merawat kulit wajah tanpa harus repot dan mahal, simak tips kecantikan berikut yang mudah dan murah. Coba Sabun Amoorea. Manfaat sabun ajaib amoorea ini diantaranya untuk berbagai permasalahan kulit anda, seperti jerawat, scars (bekas jerawat), mengencangkan kulit, membuat kulit tampak lebih cerah dan segar, mengatasi lingkar hitam di bawah mata (mata panda), dll. Untuk melihat review sabun amoorea ini klik di sini. Simak juga testimoni yang sudah menggunakan sabun ini, simak selengkapnya. Meski harga sabun amoorea ini cukup terjangkau, produk ini aman, karena terbuat dari 100% bahan alami dan sudah ada ijin dari BPOM sehingga anda tidak perlu khawatir dan ragu memakainya. Jika aman (tidak berbahaya) apakah memakai sabun amoorea ada efek sampingnya? Reaksi apa yang timbul saat pertama menggunakannya? Simak info lengkapnya di sini.

    How To Get Rid Of Acne and Scars site generally tell about  tips for beauty and health skin, and especially tell anything about acne, myths, acne and scars treatments , not only on your face (including acne and scars on your body such as chest and back)which may help you to war against acne and the scars to leaves on your face and body (back and chest), through naturally, home remedies, and medical treatment. Some people believe that natural treatment is most safe. But its seems would take time longer then medical treatment. In my oppinion, using medical treatment is more effective and you'll see the result faster. To find what the best treatment for your acne, better you understand what causes of acne. The following are some factors which can cause acne: Hormones, diet, stress, medication, clothing, environment factors, genes, and cosmetics. For back or chest acne cases, it may caused by your tight clothes. To get rid of acne on back or chest, it's good to wear synthetic loose clothing, such as cotton linen, to prevent excessive rubbing and irritation on the skin. Another treatment that can help you to get rid of back or chest acne is keep your body always clean, with take a bath regularly, preferably with an anti-bacterial soap or a salicylic acid-based cleanser is highly recommended. When acne goes, it will leaves behind the red on skin, and seems impossible to heal it fast overnight. So, it would be better to do something which may offer some remarkable effects on the redness from acne. If you choose naturally treatment,  just take a cube of ice, garlic, or lemon juice mixed with rose water, choose one of them, then apply to your reddish part of your face for a while. Do this continously and measured, then see the result. Below this, some good habits which may help you to get rid of acne scars naturally and fast are: first, drinking lots of water to makes your skin well hydrated, and finally make you skin regenerate faster.  Second, eat the food that containing much the essential vitamins and mineral to help repairing scars skin from the inside. Third, naturally treatment to get rid of acne scar, by applying aloe vera on scars, may help to avoid more scarring, soothe inflamation, and make your skin keep smooth. Fourth, treat your acne scars with natural ingredient, tomato. Its containing much vitamin A, which very efficient in repairing scars skin.  If you want to get rid of acne scars ons faster than naturally or home remedies treatments, using the latest product of technology, such as laser treatment and chemical peeling, or even you can choose microdermabration that guaranteed more effective than other treatments.

    Ada banyak bermacam permasalahan kulit di wajah, salah satu yang paling menggangu adalah jerawat, apalagi jika yang muncul adalah jerawat batu yang ukurannya besar dan menyebabkan rasa sakit. Solusi mengenai berbagai cara menghilangkan jerawat batu ini banyak sekali ditemukan, mulai dari pengobatan alami, maupun secara medis. Untuk kasus jerawat batu ini, sebaiknya anda bisa mengambil tindakan pengobatan yang tepat, untuk kasus jerawat batu disarankan langsung saja ambil perawatan medis, karena beresiko tinggi meninggalkan bekas berupa bopeng di wajah, jika salah menangani. Dengan langsung mengambil tindakan medis, setidaknya akan meminimalisasi resiko timbulnya scars bopeng di wajah yang mana scars jenis ini relatif sulit dihilangkan. Tidak seperti scars berupa noda/ flek hitam. meski tidak mudah juga, namun berkali-kali lipat jauh lebih mudah dan murah dibandingkan dengan mengatasi bopeng bekas jerawat. Perawatan alami yang dapat anda tempuh untuk mengobati jerawat ataupun scars yang berupa noda hitam/ flek bekas jerawat, anda dapat mencoba dengan menggunakan bahan alami misalnya jeruk nipis atau madu yang sudah sangat terkenal khasiatnya yang untuk kesehatan dan kecantikan kulit. Dengan perawatan alami, cenderung lebih aman, hanya saja untuk perawatan ini biasanya dibutuhkan waktu yang lebih lama serta ketelatenan untuk mengatasinya. FYI, Jeruk nipis ini yang tidak hanya dapat memudarkan flek hitam di wajah, tetapi juga dapat memutihkan dan mencerahkan kulit anda. Namun jika anda tidak memiliki cukup kesabaran, sebaiknya langsung saja konsultasi dengan dokter. Untuk menentukan metode pengobatan jerawat dan scars ini biasanya dokter akan melihat tingkat keparahan dari jerawat/ scars anda, bisa dengan pemberian obat minum seperti anti biotik, obat oles (salep), peeling, mikrodermabrasi, laser atau metode pengobatan lainnya. Namun sebelum anda memutuskan menggunakan salah satu treatment tersebut sebaiknya telah jelas terlebih dahulu mengenai efek samping yang ditimbulkan.

    Seiring dengan semakin tingginya pengguna internet dari waktu ke waktu, hal ini menciptakan peluang bisnis tersendiri. Diataranya peluang bejualan tas murah secara online, buatan konveksi-konveksi lokal. Di Bandung cukup banyak konveksi tas yang membuat beraneka macam tas dan dompet tiruan atau kw. Model-model dari tas wanita ini kebanyakan menjiplak tas dan dompet wanita dari brand terkenal luar negeri seperti merek-merek LV atau Louis Vuitton, Hermes, Chanel, Furla, dll yang sangat terkenal. Tas tiruan seperti ini familiar disebut tas replika/ kw, dengan beraneka tingkatanya: Kw I, Kw II, dll. Tas-tas wanita branded ini di Bee Bagshop dijual dengan harga yang bevariasi antara 66-300 ribuan. Pembelinya berasal dari kalangan anak SMA, anak kuliah, pekerja kantoran, serta ibu-ibu muda. Untuk tas sekolah dan kuliah anak, kebanyakan modelnya meniru model tas branded seperti kipling, dan jansport, dengan model tas punggung/ ransel ataupun model selempang. Untuk harga tas-tas branded kw dijual dengan harga yang jauh di bawah harga aslinya, sehingga bisa dipastikan kualitasnya pun berbeda dengan yang original. Di Bee Bagshop sendiri kisaran harga untuk tas jansport tiruan ini dijual dengan harga 60-80 ribuan, sementara harga barang original mungkin sekitar 800-900 ribuan, bahkan mungkin ada juga yang lebih mahal. Untuk tas ransel branded tiruan ini kebanyakan pembelinya berasal dari anak sekolah dan kuliah.

    Jika anda wanita yang terlalu sibuk bekerja, dan selalu bingung bahkan tidak sempat untuk sekedar memikirkan menu masakan sehari-hari untuk keluarga anda, silahkan kunjungi situs Aneka Resep dan Cara membuat Masakan Praktis Khas Indonesia, situs ini berisi kumpulan resep masakan yang menggunakan bahan-bahan umum seperti ayam, daging sapi, serta beraneka seafood (udang, cumi, ikan), dan juga bahan-bahan makanan yang tidak asing bagi  masyarakat Indonesia seperti tahu, tempe, serta nasi, . Selain itu ada juga resep cemilan khas nusantara, yang dapat anda jadikan inspirasi untuk menu masakan dan makanan ringan keluarga anda di rumah. Seperti resep membuat masakan khas suatu daerah seperti soto ayam lamongan, ataupun masakan khas lebaran seperti opor ayam, beraneka masakan berbahan dasar ayam ataupun bahan makanan lainnya, yang pastinya praktis dan mudah dibuat.

  • Scal1981

    Re: NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote


    posted by Scal1981 on May 10, 2015 18:20
  • Scal1981

    Re: NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote


    posted by Scal1981 on May 10, 2015 18:23
    Ada banyak bermacam permasalahan kulit di wajah, salah satu yang paling menggangu adalah jerawat, apalagi jika yang muncul adalah jerawat batu yang ukurannya besar dan menyebabkan rasa sakit Jamorama Review does Total Hair Regrowth work Ryan Shed Plans Profit Builder does Paid Social Media Jobs work Reverse My Tinnitus Reviews Profit Builder Review
  • Scal1981

    Re: NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote


    posted by Scal1981 on May 10, 2015 18:25
  • SamsulPlur

    Re: NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote


    posted by SamsulPlur on May 21, 2015 14:17

    <a href="http://daftarharga123.blogdetik.com/">http://daftarharga123.blogdetik.com/</a>There is definitely so much that you can use these for. You will be able to m
    <a href="http://hargapaket.wordpress.com">http://hargapaket.wordpress.com</a>aaThere is definitely so much that you can use these for. You will be able to m
    <a href="http://samsulplur.edublogs.org/">http://samsulplur.edublogs.org/</a>aaThere is definitely so much that you can use these for. You will be able to m
    <a href="http://carafacebookku.blogs.fi/">http://carafacebookku.blogs.fi/</a>aaThere is definitely so much that you can use these for. You will be able to m
    <a href="http://carakita.jigsy.com/">http://carakita.jigsy.com/</a>aaThere is definitely so much that you can use these for. You will be able to m
    <a href="http://samsulplur.bravesites.com">http://samsulplur.bravesites.com</a>aaThere is definitely so much that you can use these for. You will be able to m
    <a href="https://hargahapekubaru.wordpress.com/">https://hargahapekubaru.wordpress.com/</a>aaThere is definitely so much that you can use these for. You will be able to m
    <a href="https://caramembuatfacebookbaru.wordpress.com/">https://caramembuatfacebookbaru.wordpress.com/</a>aaThere is definitely so much that you can use these for. You will be able to m
    <a href="http://carafacebook.blogdetik.com/">http://carafacebook.blogdetik.com/</a>aaThere is definitely so much that you can use these for. You will be able to m
    <a href="https://rumahku8.wordpress.com/">https://rumahku8.wordpress.com/</a>aaThere is definitely so much that you can use these for. You will be able to m
    <a href="https://pejwan1.wordpress.com/">https://pejwan1.wordpress.com/</a>aaaThere is definitely so much that you can use these for. You will be able to m
    <a href="https://seokepanjen.wordpress.com/">https://seokepanjen.wordpress.com/</a>ssThere is definitely so much that you can use these for. You will be able to m
    <a href="https://dewaseomalang.wordpress.com/">https://dewaseomalang.wordpress.com/</a>ssThere is definitely so much that you can use these for. You will be able to m
    <a href="https://fhasionupdate.wordpress.com/">https://fhasionupdate.wordpress.com/</a>ssThere is definitely so much that you can use these for. You will be able to m
    <a href="https://iniberitabaru.wordpress.com/">https://iniberitabaru.wordpress.com/</a>ssThere is definitely so much that you can use these for. You will be able to m
    <a href="https://rumahku8.wordpress.com/">https://rumahku8.wordpress.com/</a>ssThere is definitely so much that you can use these for. You will be able to m
  • nedved1000

    Re: NESL: Native Extension for Silverlight or No (Except Seven) Limits for Silverlight? Experimenting the Sensor API with a Wiimote


    posted by nedved1000 on May 24, 2015 20:55
    thanks for sharing with us that awesome artilcle you have amazing blog eid mubarak 2015 valentinstag 2016 bonne année 2016

Add Comment

Login to comment:
  *      *