Microsoft PixelSense Or Microsoft Surface ?


What is in name?

What's in a name? That which we call a rose

Juliet:
“What’s in a name? That which we call a rose
By any other name would smell as sweet.”

Romeo and Juliet (II, ii, 1-2)

Microsoft followed Shakespeare’s strategy.  Microsoft is good adding more confusion by changing the names/version number’s, adding more to confuse users.

Microsoft PixelSense:

Allows one-or more users to touch and real world objects

  • It is was called as interactive surface computing platform
  • Share digital content
  • Uses multitouch PC hardware, 360-degrees multiuser application design
  • This is SUR40 from Samsung
    4-check-biometric-data-on-smart-surface-468px.jpg
    MiniME and Healthcare
  • Windows software to create “natural user interface” (NUI) 
    •  Natural user interface (NUI) is a system for human-computer interaction that the user operates through intuitive actions related to natural, everyday human behavior. 

Hardware required:

  • It is based on using IR (infrared) sensors the visually sense what is happening around the touch surface. 
  • This enables the system to sense and be able to interact with nearly any real world object, not just conductive surfaces such as with capacitive touch sensing or physical pressure such as with resistive touch sensing. 
  • For example, there are sample applications of the Surface working with a real paint brush (without paint on it). The system is able to identify objects with identification markings, in the form of a pattern of small bumps, to track those objects and infer additional information about them that other touch sensing technologies currently cannot do.
hardware

Hope you got clarity here. The debate goes on with new names and all. Overall Microsoft has done great innovation in adding all the technologies and software.

Next article would have architecture details on the Surface/pixelsense. Please stay tuned.

Beginning of Microsoft embedded operating system


Introduction

Before you get into this, if you not aware on Microsoft on embedded line, please see my blog . Also please verify or consult correct documentation specific to you are looking. This is article is generic article on various feature’s covered over the releases and version of the Windows CE/

The versions ………..

There are various versions and flavors windows CE from the beginning, do not worry too much on the versions.

The following diagram shows  from 1996 to 2007.

Add caption

What is Windows CE?

  • Componentized operating system exposing the Win32 API
  • Optimized to run in “small” environments
  •  Smallest image is about 200KB – just the kernel
  • Actual image size depends on options selected
  • Typical processor speeds 100MHz to 300MHz
  • Also used on desktop x86 processors with GHz speeds
  • Runs on x86, ARM, MIPS, and SHx architectures
  • Support for security, networking and multimedia
  • Also supports COM, ATL, .NET programming

processors supported 

Archi.
CPU
ARM
Intel SA1110
ARM920
ARM1020
Intel Xscale
MIPS
NEC Vr4122
NEC Vr5432
SH
SH4-7750
SH3-7729 (CE 4.x)
x86
Pentium-486-386
Athlon
NS Geode, STPC

Frequently used Terms

  • BSP (Board Support Package) – The software package that is specific to a given hardware configuration, typically includes the boot loader, OAL, and device drivers
  • Catalog – A collection of Components
  • Catalog Item – A component that you can add to an OS design by selecting it from the Catalog
  • CEPC – Windows CE running on standard a PC
  • Component – Smallest unit of functionality that you can add to an OS design
  • KITL – Kernel Independent Transport Layer – Used as a link for downloading and debugging target programs

Underlying architecture. 

From 1996 to till date, Microsoft added various pieces together changed the part of the systems here and there, but underlying principle are still the same . 
1.The Microsoft made component based system, underlying principles are form “desktop” cousin’s. As you would know, Microsoft has Win32 SDK API’s .Same API’s are ported, re-written for windows ce. version version form the desktop version (The Simplest Windows Program)
2. What you would do in desktop differs in embedded world. As desktop will be based on “power supply” mode. Where as these devices are “battery operated”. This needs careful work, to charge the battery, and also “optimum battery usage “
3. Memory usage also need to be tuned, as these device should be able use lightweight battery’s as well coding needs be written such way that battery consumption to be minimal.

4. The way the devices are programmed needs to worked on compared to desktop version

5. Also these embedded devices should support various memory/processor/controller and architecture suited the small devices.

Processors: ARM, MIPS, SH, X86
Various other devices (the following image shows screenshot of tool, which will tell you what devices , hardware, Processors are supported )

6. Modular portability

7. Connectivity

Version compatibility 

Many of the problems you might have can be categorized into one of the three following areas: 
  • Misunderstanding the different components that make up Windows CE, and the different versions of those components; 
  • Communication between the device and the desktop computer; 
  • Managing memory on the device. 
    • “If for some reason you install a program and it doesn’t run, verify that you are installing the version that’s for the processor in your device.”
    • “Some programs have Handheld and Palm-sized PC version, so be sure you download the version for the type of device you have.”

High level architecture. 

Device Driver Architecture
Fig 1: High level architecture 

For Architecture reference , please read blog

Windows 8, Windows RT , Windows RT- Surafce- Microsoft Operating System


Windows 8  VS Windows RT 

Microsoft versions and naming confuses, and challenging from the day-one. 

This may be due to many departments and verticals , as I understood earlier (while working in USA start-ups and downs)

Windows 8 

Let us discuss on the subject of this topic.


Windows 8 Start Screen.pngSony’s Vaio Tap 20 is a Windows 8 touchscreen tablet/desktop hybrid for the whole family (review)
  • Windows 8 is next version of windows 7 .
  •  It uses version 6.2 of windows NT kernel
  • Windows 8 uses “touch user interface”, so suitable to “tablet versions like IoS, Android
  • Special version of windows 8 pro is “Surface Pro”

Windows RT

Windows RT is pre-loaded ARM processor version. OEMs edition, unlike Windows 8. While Windows 8 is Intel versionAcer-delays-windows-rt-tablets-wants-to-see-surface-reaction-first-1775aa0fb5

Windows RT is for tablets like windows 8. windows RT is build by various manufacturers.  Unlike Windows 8, Windows RT does not have backward compatibility with earlier OS’s of Windows.

Special version of Windows RT /Windows 8 Pro is “Surface RT”/Surface Pro. This is exclusively build by Microsoft.

Hope this give clarity on versions. Watch this space for more on Surface and architecture differences between them .




Product dev based on Microsoft Embedded Windows….


Windows Embedded

Over the years, Microsoft has picked-up lot of bundled systems in same OS module, which can come with default builds for each of the specialized system.
In this article, we will see how to select the device type and operating system for your developmental needs.
This article assumes you have enough embedded knowledge on Microsoft Operations Systems.

OS Versions 

The following list has different “OS” versions Microsoft has developed ( link)
  • Windows Embedded 8
  • Compact (formerly CE)
  • Standard (formerly XPe)
  • POSReady (formerly WEPOS)
  • Device Manager
  • Enterprise
  • Automotive
  • Server
  • Microsoft SQL Server
  • Thin Client
  • Handheld

1. Device Type /Selection for your product development

You can select device you are interested to build

If you select ATM , you will see following

If you select “Medical Device”,

1.It will give choices as follows:. 
2. Also this will suggested OS and suggested processors.  
3. Here you have decide the processor /Desktop system to build your device

2. Choose the “microsoft operating system” as per above screen shots

3. Select the microprocessor or PC configuration based on you needs 

4. Look for reference board to suit the application and above selection mechanism.Spark Kit

5. Ideally all #1 ==> #4 are carefully selected based on the device requirement.

6. You have download or get tools/software for development based on your needs

6.a Operating system developers needs 

  • Platform Builder (OS developers use Platform Builder to create Compact 7 board support packages (BSPs), device ROM images, and software development kits (SDKs) for devices based on those ROM images.)
  • a Visual Studio 2008 plug-in: which provides embedded-specific support in the familiar Visual Studio integrated development environment (IDE). 

6.b Application developers needs

  • Visual Studio 2008 
  • and a Compact 7 device-specific SDK to write end-user, line-of-business applications for their device.

7. You need to write software and and download on the reference board. 

8. After the development is successful, you can move the code to to your final product. 

Hope I have not confused you. Please feel free to comment and ask 

Microsoft Embedded Windows – Alice in wonderland


Alice Wonderland

You will wondering “what Alice” was thinking when she bumped in to wonderland. 

Alice's Adventures in Wonderland



Alice is studying with her sister outside near a tree. She see’s a white rabbit, who is late for something. She follows him down a rabbit hole, then goes into a magical world. She tries to find her way home with a little help (but not much) of the cheschire cat. She got into a little trouble with the queen, but soon enough she realize’s that it was all a dream. And she fell asleep studying.


Microsoft Embedded Windows 

Like the little Alice  Microsoft versions  and tools and technology are really puzzle. A person walking on the road will called by different people different names  (father of x,  son of “y”, Java programmer or so on .
I guess after seeing this you might have surprised and puzzled, why they complicate things/versions
Timeline of Windows CE Development

Microsoft Windows

The Windows Family Tree

This is just short and sweet page, will publish few more articles on “Microsoft Embedded Systems”, stay tuned 🙂 🙂

Top blogs of mine


Thanks for very good support, for all my readers.  There are so many people, colleagues  friends have provided me feedback, constant motivation. I am indebted to every one, who helped me in this process.

Have started my blogging back in Ipswich (UK), during work visit.  That was first time, was involved in full fledged E2E  delivery for the telecom giant.

During this time, I used to share knowledge to new-comers.

The articles, either were very spontaneous, and have written during my travel (with in South India and Pune).

From 2008 on wards I could write 86 articles and with varied subjects.  I am embedded engineer at heart, most of my leanings are in  work-place. These number may be from the time , I installed

Pageviews today
0
Pageviews yesterday
2
Pageviews last month
918
Pageviews all time history
8,436


Entry Pageviews
382
263
21 Oct 2011
104
29 Jul 2011
57
7 Jan 2009, 1 comment
53

 

Some day I will write the motivation behind  these articles , until then bye bye.

Product development in Agile way


It is been quite while have posted anything. Based on my blog friends request, would like bring in new and closer to my heart,

Product development is a very big subject, and it is long journey. It needs many areas of specialization. It is like a making movie, everything needs a script. And needs wide varieties of experience and exposure. Several people have requested me to cover this.

<<<>>>

Agile is a way thinking, how you develop and deliver and deploy from the concept.

<<<>>>

Product development envisages a identifying the product, conceptualization, execution identification, delivery modes, market segment identification.

1. Market segmentation identification: This involves various factors such as exposed area of customers, product, budget availability, team capabilities

2. Conceptualization: Once the product is identified, the mode of development to be planned. This is more of creating framework/model. This is may be use of “architecture model” as of “Gang of Four” authors, or building a prototype. This might be rough script/sketch. This can also consider as “throw away prototyping”. This is like tasting the /checking the food, before final recipe is made.

3. Delivery modes: Need to decide which model will work better, based on the scope of work and client (Prototype, Agile, and Waterfall)

<<>>

Agile way:

There are several articles in the web on this. However this is more of prototype, small delivery way. Where in you have small deliveries, unlike developing like water fall model. In this customer is on the site, and he/she involved in various stages.

Some of the roles :

1. E2E delivery manager

2. Design team

3. Test team

4. Delivery team

5. Deployment team

6. Program management team

My previous articles cover the entire role in details

1. http://www.trigent.com/company/delivery-models/development-models.htm

2. http://www.symbio.com/delivery-models/

3. http://en.wikipedia.org/wiki/Design_Patterns

Embedded Systems


his is place-holder for embedded system articles.

My embedded web sites:
1. Also you can find some of my collection made in 2001[ http://vxipnp.tripod.co%5D . While was working as a “software engineer” in “Embedded Systems” . There are some broken links either due to firm’s vanished in 2001 time frame [Read as 9/11 effect and US economy disaster] . I am re-creating in http://blog-bhaskaruni-2001.blogspot.com

2. real time embedded system best site is as follows:
http://realtime-info.be/

3. “Windows CE Display Driver web site”. The following site has covered better than any other site or book. This web site was very useful, while doing “display driver framework” in “Windows CE” http://www.intelligraphics.com/articles/wincedrivers_article.html

4. “Windows Driver web site”. The following site has covered better than any other site or book. This web site was very useful, while doing “driver framework” in “Windows CE” http://www.intelligraphics.com

Agile Life Cycles


This is very high level overview of the Agile Life Cycle. These are case studies and learnings from the ‘work exp’
Agile Model [B.T Framework]

The following activities are done in this framework

• Customer interaction phase and conceiving stage:

• Business case presentation and approval

• Concept

• Solution Design

• Design and development

• Test and Trail

• Product Launch stage

My Contribution to Products


This is more of high-level details of products, I have worked with:

1. Canon Portable Media Player:

Media Playe
This is Higher end , photho storage device like I-PAQ [60GB], Linux based device.

Web Address: http://www.pmptoday.com/2007/07/12/canon-m80-gives-you-80gb-in-your-pocket/
Role and Responsibility: “Software Project Manager”

2. Neuroptics:(“Eye Scanning device”)

This was Seven people start-up in 2001. The product is based on Intel X86, Windows CE Version 2.0/3.0.

Re-written OS calls/ API/Drivers as porting from 2.0 –>3.0 was a issues .

Neoroptics scanning device
Web Address: : “http://www.neuroptics.com/index2207.html?p=3&#8221;

Role and Responsibility: “Operating Systems Developer and architect”

3. Symbol/Motorola/Telxon Mobile/handheld devices:

a. In Telxon [1999-2001] got acquired by Symbol in 2001],started as software engineer and worked on Windows CE 2.11/2.12??/3.0versions of OS and the frame work is used across various product line.
b. In Telxon worked on “Bootloader based diags” for SH4 processor.
c. In Symbol [2003, got acquired in 2008??] worked as Test Lead

4. Infineon Mobile Phones:

Worked as a “Test Manager and Customer Support Manager” for the APOXI based product line. In this build “rules and regulations” in the above areas work.

http://www.infineon.com