//build 2015 AR/


"دعم و تقوية جميع المطورين"

ساتيا ناديلا

المدير التنفيذي, مايكروسوفت

هكذا بدأ مؤتمر Build 2015 في جلسته التمهيدية. سأحاول تلخيص اهم ما تم ذكره في جلسة البارحة.
أطق ساتيا مؤتمر Build 2015  بحديث مع موسيقي يسمي نفسه "مطور عَرَضي". كان يحلم بتغير كيفية تاليف الموسيقى.


  • StaffPad: برنامج يميزو يقرأ خط اليد لكتابة النوتة الموسيقية. و بامكانه عزفها مع العديد من الميزات الاخرى. طوره ديفد وليم هيرن

 


  • Dockerهي منصة مفتوحة المصدر, للتتطبيقات الموزعة (Distrbuted applications) للمطورين و مدراء الأنظمة (Sysadmin)
    • اخذ اي تطبيق ويندوز و تشغيله على اي مخدم (server).
    • حاويات متعددة لتطبيقات الويندوز.
    • الدمج بين حاويات ويندوز و حاويات لينكس. مما يعني انه بامكانك استخدام واجهة البرنامج من حاوية ويندوز و المخدم بالخلف وراء الكواليس يكون من حاوية لينكس.

  • Office 2016(اوفيس مع الشركاء) كما وصفه ساتيا. بوصف اخر اصبح بالمكان استخدام وظائق اضافية لبرامج طقم أوفيس مطورة من قبل شركات اخرى غير مايكروسوفت.
    • PicHit.me
      أضف الصور مباشرة الى عرضك التقديمي
    • Uber
      باستخدام أوتلوك بامكانك تحديد مذكر الرحلة من Uber لطلب خدمة التوصيل.
      عندما تقوم بالضغط على التنبيه للموعد من جهازك الخليوي ,تلقائيا سيقوم البرنامج باكتشاف موقعك الحالي و الرائع بالموضوع انه سيحدد وجهتك بالاستفادة من برنامج الاوتلوك الذي لديه هذه المعلومة سابقا. (عندما سجلت موعدك على رزنامته).

      الفيديو:


  • Windows 10

    • التطبيقات العامة (Universal Apps) طور مرة واحدة و انشرها في كل المنصات ( سطح المكتب, الخليوي, الأجهزة اللوحية, اكس بوكس,  العدسة ثلاثية البعد ـ HoloLens ـ )
    • اقتراح تطبيق:
      و لنفترض انك لم تقم بتحميل اي تطبيق خلال فترة معينة, نظام ويندوز 10 ذكي كفاية ليلاحظ ذلك و سوف يقوم باقتراح تطبيق لك يناسبك انت! بناء على البرامج التي قمت بتحميلها مسبقا.
    • Microsoft Edge: متصفح الانترنيت الجديد (كان قد صرح عنه مسبقا باسم -Project Spartan- )
      • سوف يتضمن المتصفح الجديد دمج لأدوات تساعدك على الشرح كالرسم باستخدام القلم. و سيدعم المساعد الشخصي  كورتانا Cortana , قوائم القراءة,.....
      • و سوف يدعم ايضا الإضافات من جوجل كروم وفايرفوكس بعد بعض التعديلات البسيطة في الكود.

         

        الفيديو:




    • Spotlight: ابدء يومك مع شاشة قفل جديدة , اذا اعجبتك سوف ترى المزيد من مثيلاتها و اذا لم تعجبك سوف يتم تفادي عرض مثيلاتها ما عليك الا ان تبدي رايك (هذه الميزة متوفرة اذا اردت الاستفادة منها و ليست اجبارية للجميع). و ليس ذلك فقط, بل اذا لاحظ ويندوز انك لا تستخدم احد ميزاته او ميزات جهاوك سوف يقوم بعرض اقتراح في شاشة القفل لتعريفك بميزة ما لم تستفد منها الى حد الان.



    • Cortana:
      هي مساعدة شخصية ذكية, تقوم بالبحض على  شبكة الإنترنت، والعثور على الأشياء على جهاز الكمبيوتر الخاص بك، وتتبع التقويم الخاص بك، حتى انها تخبرك بعض النكات. نحن لا نقول انها سوف تجتاز اختبار تورينج، ولكنها ستقوم بمساعدتك، وكلما تعلمت اكثر عنك، كلما كان تحسن ادئها.
      *اختبار تورينج: هو اختبار لذكاء الحاسب.

      الفيديو:


    • Continuum (التواصل):
      قم بتوصيل جهازك اللوحي و الخليوي الى شاشة وجهاز مفاتيح و ماوس لاسيلكين و تمتع بتجربة سطح المكتب كانك تعمل على جهازك الشخصي و ليس الخليوي او اللوحي. بالاضافة الى ميزة الشاشة المزدوجة (Dual Monitor) و هذا يعني انه بامكانك و الشاشة متصلة بك عرض فيلم عليها , بينما تقوم بالتحقق من البريد الإلكتروني الخاص بك على شاشة المحمول او اللوحي المتصل بها.

      الفيديو:


    • للمطورين:
      • كراج فابريكام (عرض تجريبي من قبل سكوت هانسيل مان):
        هم شركة تقوم ببيع منتجات مثل (الطابعة ثلاثية الابعاد, متحكمات مثل اردوينو (Arduino)و راسبري باي (
        RaspberryPI).
        و ايضا يوفرون خدمة تحميل ملف مجسم ثلاثي البعد و هم يقومون بطباعته و توصيله لك.
        • موقعهم الإلكتروني يعمل على منصة  Windows Azure.
        • الموقع يتخاطب مع خدمة الطلبات الموجودة على المخدم في الخلفية.
        • تستخدم احدث التقنيات مثل (HTML5,CSS3,bower, و كل ما يخطر ببالك من اشياء حديثة)
        • المكتب المسؤول عن استلام الطلبات و معالجتها يستخدم التطبيق على جهاز مايكروسوفت اللوحي (Surface).
        • لتطوير برنامج للأجهزة الخليوية بامكننا استخدام ادوات مثل (C++ , Xamarin, ...) في هذه الحالة تم استخدام Apache Cordova لبناء التطبيق,
        • و تجربته على محاكي ويندوز و محاكي اندرويد الجديد من Visual Studio الذي يعمل على برنامج Hyper-V
        • تتم اذارة الكود على منصة Visual Studio Online
        • و في هذه الحال الفريق يستخدم مستودع ـGitـ  (Git repository)
        • و ايضا يستفيدون من عنصر التحكم بالتعليمات البرمجية المصدر (Source Control) و متابعة الأعمال المتراكمة الغير المنجزة (Backlog).
        • عملية بناء الكود تتم على منصة Visual Studio Online و يتم نشرها تلقائيا على منصة Windows Azure.
        • على منصة Windows Azure يمكننا ان نرى التطبيق في API host  و يمكننا من خلال Azure نفسه ان نرى كذلك ما تم نشره مسبقا.
        • رؤية معمقة للتطبيقات (Application Insight) تظهر كل انواع التفاصيل من الاعتماديات , الملاحقة الى سطر من الكود. و كما يمكنك الحصول على نفس الرؤية المعمقة (Application Insight) لتطبيق الخليوي من الاعطال , للأحداث , لتميز الجلسات حسب الدولة الى سطر واحد من الكود في داخل تطبيق iphone تم كتابته بلغة Swift.
      • ذلك بعد كامل (360 درجة) لأي منصة من اعلى مرحلة الى ادنى مرحلة.
      • نظرة على التطبيق المنطقي (Logic Application).
    • Visual Studio Code  محرر الكود الجديد , المجاني , متعدد المنصات لبناء تطبيقات ويب و الكلاود على منصات ماكنتوش او اس اكس , لينكس , ويندوز.

      الفيديو:

      • أعد استخدام كود اندرويد: لبناء تطبيقات ويندوز و حتى بامكانك استخدام ميزات ويندوز مثل المربعات النشطة (Live Tiles).
      • أعد استخدام كود Objective C: باستخدام اداة Visual Studio قم بترجمة و تشغيل البرنامج على منصة ويندوز.
      • أعد استخدام برامجك ذو المنصات القديمة مثل Win32  و انشرها في متجر ويندوز.
  • العدسة ثلاثية البعد (Hololens)

    • دمج العالم الرقمي ثلاثي البعد مع العالم الحقيقي (الحقيقة المعززة - Augmented Reality)
    • ثبت تطبيقك في اي مكان تريده في غرفتك.

    •  


    • اجعل تطبيقك يقوم باللحاق بك!


    • تفاعل معها باستخدام حركات يديك


      الفديدو:


    • بعض من تطبيقات العدسة ثلاثية البعد (HoloLens)

      • التعليم:
        عرض تجريبي في مجال التعليمي الطبي المتقدم بواسطة البروفيسور مارك جريسولد من جامعة كيس ويسترن ريزرف.



      • الفيديو:





      • انترنيت الأشياء (Internet of Things - IoT):
        دمج بين الرجل الآلي بـ RaspberryPI و البعد الثلاثي من العدسة ثلاثية البعد (HoloLens).
         

        الإستفادة من فهم العدسة ثلاثية البعد (HoloLens) للبيئة المحيطة لتحسين قدرة الرجل الآلي على اتخاذ القرارت.

        الفديدو:


      • العمارة:
        • تفاعل باستخدام الماوس مع المجسم ثلاثي البعد

           

        • تفاعل مع اللأخرين بغض النظر عن المسافة كأنهم بقربك


          الفيديو:





للتسجيل الكامل او المتابعة المباشرة  قم بزيارة MSDN Channel9 

//build 2015/

Empowering every Developer”
   Satya Nadella,
   CEO, Microsoft

This is how Build15 Keynote 1st day started. Below I will summarize the most mind blowing keynote of yesterday session.

Satya Kicked off build by talking a Musician who called him self an accidental developer, who had a dream to change how music is composed.
  • StaffPad App: is handwriting recognition for music notation, with full score playback and lots more. By David William Hearn
     
  • Docker
    An open platform for distributed applications for developers and sysadmins.
    • Take any windows Application and run it on any server.
    • Multi-Container windows application.
    • Mix & match Windows containers  & Linux containers, Which means you can use windows front end with Linux back-end and vice versa.


  • Office 2016Office with partners (Addins)

    • PicHit.me
      Include pictures directly into your PowerPoint presentation.


    • Uber
      With Outlook set an Uber Ride Reminder to request a ride, when click on the notification automatically it will pick your location and the cool thing is it will pick your destination as well from Outlook!




      Video:


  • Windows 10

    • Universal Apps, Develop once deploy every where (Desktop, Mobile,tablet, Xbox, Hololens,..etc)
    • App Suggestion: if you didst install an app for a quite time, windows will suggest to you an app to try (if you want for sure). an app which suits you! it is smart enough to know that from your previous installed apps and uses.
    • Microsoft Edge: the new Internet browser (formerly known as Project Spartan)
      • incorprate annotations, Support Cortana, Reading list
      • Support Extension from google chrome & Firefox with little tweak in code

         

        Video:




    • Spotlight: every day with new nice lock screen, if you like it it will show you more if not it it will avoid similar ones in the future. not only that but also, if you haven't try a feature from your windows or device it will show you a suggestion to try it on that lock screen.



    • Cortana:
      is your clever new personal assistant, and she can search the web, find things on your PC, keep track of your calendar—even tell you jokes. We're not saying she'll pass the Turing test, but the more she helps you out, and the more she learns about you, the better she gets.
      *Turing Test is 
      a test for intelligence in a computer, requiring that a human being should be unable to distinguish the machine from another human being by using the replies to questions put to both.

    • Video:

    • Continuum:
      Connect your tablet & mobile devices to screen & Bluetooth Mouse/keyboard and enjoy windows desktop experience with the support of dual monitor, which means your connected screen will display a movie while you are checking your email on your connected mobile screen.

      Video:


    • Developers:
      • Fabrikam Garage (Demo by Scott Hanselman):
        They are a Maker space sells things like: (3D Printers, Arduino, RaspberryPI)
        also they has a service to upload a 3D model and they will print it for you
        • Their website is run on Windows Azure.
        • The site talks to back-end order service
          • it uses all the new technology HTML5,CSS3,bower & all the modern things you could expect.
        • Back-end office use application on surface.
        • To make a mobile application we can use tools like C++, Xamarin, at this case they used Apache Cordova to build the mobile application
          • Tested the Demo on Windows phone Emulator & Android Emulator.
            running on Hyper-V.
        • They are managing the code by Visual studio online
          • At this case they are using Git repository.
          • also benefiting from Source Control & backlog to keep track of what working and what not working.
          • The build is done on VSO and automatically deployed on Windows Azure
        • On Azure we can see the application at the API host, we can click within Azure it self and see the deployment their as well. 
        • Application Insight showing all sort of details, dependency tracking, all the way down to single line of code. Also, we have the same insights for the mobile apps crashes, events, sessions by country, all the way to line of code inside an iphone app written in swift.
        • It is a 360 degree view of any platform from the highest level to the lowest level.
        • A look over a logic application.
      • Introducing Visual Studio Code, a new, free, cross-platform code editor for building modern web and cloud applications on Mac OS X, Linux and Windows.

        Video:


      • Reuse your Android code to build a windows applications and even use Windows features like Live tiles.
      • Reuse ObjectiveC code on Visual studio Compile & run your apps on windows.
      • Port your legacy windows (i.e win32) to windows store.
  • Hololens

    • Integrate 3D in to your real world (Augmented Reality).
    • pin your apps any where you want in your room.

    • Makes it follows you.



    • interact with with you hand gestures



      Video:


    • Using  HoloLens  with:
      • Education:
        Demo about Advance medical education by Professor Mark Griswold from Case Western Reserve University


      • Video:



      • IoT:
        Combination between your RaspberryPI robot and the Hologram from HoloLens

         

        Benefit from the HoloLens understanding to the environment to enhance the robot decisions

        Video:


      • Architecture: 
        • Interact with the mouse with the hologram

           
        • Collaborate with others regardless of the distance like they are here



          Video:




   For Full recorded sessions & Live stream (if you catch it on time!) go to MSDN Channel9 

Augmented Reality App with Wikitude SDK Using Cordova on Visual Studio 2013

Summary:

In this article we will see how to setup Wikitude SDK with Cordova on Visual Studio 2013.
we will use the official samples provided by Wikitude.

Targeted Audience:

  • Developers with basic knowledge at:
    • Visual Studio
    • JavaScript
  • Developers who are interested to develop Cross platform AR Apps.

Steps:

  • Download Wikitude PhoneGap Extention:
     (Wikitude Download Page) or (Direct Link)
  • Create New Project:
    • Open Visual Studio 2013
    • Create New Project
    • Choose Cordova Blank - Under JavaScript Templates

  • Add Wikitude SDK Plugin to the project
    • Double Click on "config.xml"

    • At left side choose "Plugin" tab.
    • Then click on "Custom "
    • After that browse to the Wikitude SDK download folder
      (Sure after UnCompressing it)
    • Then click Add

  • Add Core Plugins:
    Choose base on what your application needs:

  • Adding License Key
  • Coping Samples Master
    • Navigate to Wikitude download folder
      wikitude-phonegap-samples-master/SampleAppResources

    • Copy all the files in "SampleAppResources"
      To you project folder and replace the old files
  • Build your project
    • Keep in mind Wikitude must be tested with real devices
      it will not work with Simulators or emulators. (i.e Ripple).
    • To let Visual studio generate Android binaries ".apk" files
      Make sure to select "Android" from solution platform then "Device"

    • You can find the ".apk" file under:
      "\ProjectName\bin\Android\Debug"
    • Copy, install & run them on your device & enjoy ;)

Make Your PC a Wireless HotSpot



Summary:

Imagine this scenario:
you have wired internet connection, Your laptop connected to it and you want to connect your mobile also using wireless but you do not have wireless router?!!
There is some programs which will help you do that such as (Connectify). In this article we will see how we can do it with out any external program.


This is similar to the hotspot option in the mobile phones where you share your 3G internet connection with your friends through wireless.
I know this is an old trick for some of you but many have been asking about it recently, so here it is ;)

Steps:

Option A:

  • Open Command Prompt (cmd) with administrator privilegeIn Windows 8:
    • Press Windows Key + X
    • Press a or Choose "Command Prompt (Admin)"
  • Then type the following line to create the Access point
    netsh wlan  set hostednetwork mode=allow ssid=SSIDName key=YourPassword
    Note:Change "SSIDName" to what ever you wanna call your Access point
    & "YourPassword" to your personalized password.
  • Then type the following line to start the Access Point:
    netsh wlan start hostednetwork
  • Common Troubleshooting tip:
    Stop & restart fix's it usually. To stop use this command:

    netsh wlan Stop hostednetwork
Option B:
  • Download this File.
  • Unzip it.
  • "Right-click" on "Wireless Access Point.bat" then choose "Run As Administrator"
    • Current SSID Name is: "MySSID"  
    • Current Password "MyPassword"
      Note that its 
      Case Sensitive.
  • If you want to change SSID Name & Password
    just open the batch file with any notepad
    • "Right-click" then "Edit"
    • Do your modification then save!

After Running either of the options you can search with your mobile and the access point will appear as any other wireless routers.

Enjoy! 

Instant Tracking


 This is a sample project for using Instant Tracking.

SDK:                      Metaio
Render Software:  Unity3D
AI (Unity Plugin):   R.A.I.N AI Engine
Script Language:    C#
Project Files

If you are unfamiliar with Augmented Reality, this article could introduce AR to you

To Test the sample:
·        Make sure you have a camera connected to your system, it is preferred if it is not fixed easier to control
·        Open Unity3D with OpenGL Render mode, use the command "Unity.exe -force-opengl"
·        Scene is in "Assets\Scenes" Folder Double click on "Main" to open the project
·        After Opening the Scene:
·        Expand MetaioSDK object:
you will find two objects with the name "MetaioTracker"
·        if you click on any of them
you will see in the inspector "Coordinate System ID"
This is the Id number which specify which Marker image is associated with this marker.
This information is predefined in the XML File "TrackingData_MarkerlessFast"
Located at the same folder as the markers "Asset\StreamingAssets\TrackingSamples"

You may notice also the T1 & T2 Images in that folder. The markers & the images there are no need for them but they exist because I copied the XML file from the Previous sample "Marker Based Tracking Sample"
·        If you expand the "MetaioTracker" objects you will find:
o   in one of them
an object called "Max"
o   and in the other one
an object called "Tyrant Zombie"

Those are the 3D models which they will appear when Metaio SDK Detect the scene. (pointing the camera to any scene Metaio will try to identify it)
·        The model "Max" can be controlled with the keyboard: Movement (W,S,A,D)
·        The model "Tyrant Zombie" is associated with an AI system
o   if model "Max" get to his sight range
he will start following him
o   if model "Max" get to his attack range
he will start attacking him

(at this sample no health system is not applied)
·        Running the sample:
click on the play button at Unity
·        Then click on the 3D button (it will appear at the left side of the screen)
·        Then move the camera to the right or to the right then to left (some times you may need to click on 3D button again)
·        Then once Metaio detect the scene you will see "Max" & the "Tyrant Zombie" appear on the screen

·        Note: I used UnityVS add in to make edit and view the code in Visual Studio
o   You may have to go to:
o   "Edit/Preferences"
o   "External Tools"

o   "External Script Editor"
to choose your preferred Editor.



Marker Based Tracking


 This is a sample project for using Marker based Tracking.

SDK:                      Metaio
Render Software:  Unity3D
AI (Unity Plugin):   R.A.I.N AI Engine
Script Language:    C#
Project Files

If you are unfamiliar with Augmented Reality, this article could introduce AR to you

To Test the sample:
·        Make sure you have a camera connected to your system, it is preferred if it is not fixed. easier to control.
·        Make sure to Print the makers from the location:
"Asset\StreamingAssets\TrackingSamples" t1.png & t2.png
·        Open Unity3D with OpenGL Render mode, use the command "Unity.exe -force-opengl"
·        Scene is in "StreamingAssets\TrackingSamples" Folder Double click on it to open the project
·        After Opening the Scene:
·        Expand MetaioSDK object
·        You will find two objects with the name "MetaioTracker"
·        If you click on any of them, you will see in the inspector tab  "Coordinate System ID" This is the Id number which specify which Marker image is associated with this marker.
This information is predefined in the XML File "TrackingData_MarkerlessFast"
Located at the same folder as the markers "Asset\StreamingAssets\TrackingSamples"
·        If you expand the "MetaioTracker" objects you will find:
o   in one of them 
an object called "Max"
o   and in the other one
an object called "Tyrant Zombie"

Those are the 3D models which they will appear when their parent tracker will detect the associated Marker (pointing the camera to one of the printed markers)
You can alternatively remove those models and add your own.
·        The model "Max" can be controlled with the keyboard: Movement (W,S,A,D)
·        The model "Tyrant Zombie" is associated with an AI system
o   if model "Max" get to his sight range
he will start following him
o   if model "Max" get to his attack range
he will start attacking him

(at this sample no health system is not applied)
·        This sample has an issue:

If the "Tyran Zombie" tries to switch his direction it model will be flipped in a weird direction.
I am suspecting this is due to the Up Vector and the way it is implemented in the AI engine (R.A.I.N)
because AI usually use "transform.LookAt" or "Quaternion.LookRotation" and pass the default UpVector (0,1,0).
Assuming that UpVector is to parallel to the Y-Axis
But with this sample; Metaio SDK will keep changing the position of the markers based on the camera movement so the look stable while we are moving it.
Thus UpVector is not (0,1,0) always!

I wrote small Script you can find it at this location "Asset/TrackingSamples/AI.CS"
and attached to the "Tyrant Zombie" by default it is disabled (because I am using the R.A.I.N engine)

The script  will make the "Tyrant Zombie" always toward at "Max".
In this script, I did not use the Default value for the UpVector but I kept recalculating it for every frame from the Tracker position.
Therefore, I got more stable movement, and the "Tyrant Zombie" will not flip.

·        To test this script:
o   Expand "Tyrant Zombie" Object and 
o   Select AI object then disable it (the check box Top-Left at the inspector).
o   Click on the "Tyrant Zombie" object and
o   Click on the check box beside AI script
·        Note: I used UnityVS add in to make edit and view the code in Visual Studio
You may have to go to:
o   "Edit/Preferences"
o   "External Tools"
o   "External Script Editor"
to choose your preferred Editor.