Tag Archives: msp

Making a line follower BOT

Standard
Making a line follower BOT

Line followers are one of the most prominent kinds of robot. They have existed for a very long time , however the technologies used for building them have changed rapidly. Earlier controller boards the size of bricks were used , but now they have shrunk and become tremendously powerful. Now , technology allows you to build a line follower in just under 10 minutes if you have all the parts for it. So enjoy building this quick and easy line follower. Have fun with this tutorial!

What are the stuff required to do this project?

Hardware :

  1. Arduino / Arduino Clone
  2. Two continuous rotation servo motors Continuous rotation servo.
  3. A ball caster : Ball caster.
  4. An infrared sensor array like this : Pololu QTR-8A IR sensor array OR a set of six IR Leds and Detectors.
  5. Resistors : 1K and 10K.
  6. Two robot wheels like this, select wheels after checking if they fit in the servo : Robot wheels.
  7. Chassis , usually a small acrylic board will do.
  8. Four AA duracell batteries and battery holder.

Software :

  1. Arduino IDE : Arduino.

So how does it work?

The working of a line follower robot is pretty straight forward. These robots have the capability to detect a black/dark line on a lighter surface depending on the contrast. They estimate whether the line underneath them is shifting towards their left/right as they move over them. Based on that estimation they give respective signals to the motors to turn left/right so as to maintain a steady center with respect to the line.

These robots usually use an array of IR (Infrared) sensors in order to calculate the reflectance of the surface beneath them. The basic criteria being that : The black line will have a lesser reflectance value (black absorbs light) than the lighter surface around it. This low value of reflectance is the parameter used to detect the position of the line by the robot. The higher value of reflectance will be the surface around the line. So in this linear array of IR sensors, if the leftmost/rightmost IR sensor presents the low value for reflectance , then the black line is towards the left/right of the robot correspondingly.The controller then compensates for this by signalling the motor to go in the opposite direction of the line.

LineFollower1

The IR sensor array consists of individual IR LEDs and IR photodiodes. The IR light emitted by the LED strikes the surface and is reflected back to the IR photodiode. The photodiode then gives an output voltage proportional to the reflectance of the surface (high value for light surface and low for black/dark surface).

Easy Line Follower

Step 1 (Optional) : Making the sensor array for the line follower (only if you don’t want to buy the pololu reflectance sensor)

In order to make an IR sensor array , take the six IR LEDs and connect them in parallel with each other. Now, take the IR photodiodes and place each of them just below the six IR LEDs. Wrap each pair together using black insulation tape leaving their tips exposed. Take these six pairs of IR LEDs and photodiodes and join them in a straight line, each pair should be 1.5cm apart from the next.

Irled.jpg

 

joined.jpg

Step 2 : Assembling the components for the line follower

Take the piece of acrylic board and stick the servo motors to the left and right edges using hotglue/super glue. Then attach the ball caster on the opposite edge . Take the pololu IR sensor array or your own sensor array and stick it on top of the two servo motors using a small plastic / foam piece. The sensor must be positioned in such a way that it’s about 4-5mm from the ground for optimal performance.On the top side, stick the arduino board using double side tape, do the same for the battery holder. This is how it looks like :

Lf2.jpg Lf1

Step 3 : Connecting all the components together for the line follower

Setup the hardware connections with the arduino and the servo motors. The continuous rotation servo motors are those kinds of servo motors that cannot be controlled or set at a particular angle unlike normal servos. Servos have three wires coming from them : Red- Power , Black -Ground, White/Yellow- PWM /PPM Signal. The left servo motor (white/yellow wire) is hooked up to arduino digital pin 9 and right servo motor (white/yellow wire) to arduino digital pin 10. The black wires of both the motors are connected to arduino GND and the Red wires to the positive terminal of the battery holder.

lineFollow

 

Using Pololu QTR-8A Reflectance array sensor :
If you are using the pololu sensor, and you don’t need all the 8 IR detectors you can remove 2 of them by cutting at the indicated perforation line on the board. The code we are using is only for 6 of them. Then solder some header pins to the board for Vcc, Gnd and signals 1,2,3,4,5,6. Connect the Vcc and Gnd of this sensor to arduino’s Vcc and Gnd. The signals 1,2,..6 are connected to arduino’s analog input pins A0, A1, A2, …A5.

Using custom fabricated sensor array :
If you are using the custom fabricated sensor array, then short the anode terminals of all the IR LEDs together and connect it to the arduino Vcc through a 220Ohm resistor. Next , short the cathode terminals together and connect it to arduino Gnd. Now, connect a 10K resistor to the cathode of each of the IR photodiodes. Short the free ends of all the 10K resistors together and connect it to arduino Gnd. Now short the anode terminals of the IR photodiodes together and connect it to arduino Vcc. Lastly, connect a wire to the cathode of each of the IR photodiodes (between the cathode and the 10K resistor). Connect each of the wires in sequence to arduino’s analog input pins A0, A1,..A5.

lineFollowcust

 Step 4 : Uploading the code for your line follower

The code for the line follower can be found at the end. After uploading the code , you need to sweep/move the sensor array over the black line from left to right for roughly 3 seconds. This is done in order to calibrate and find the max and min values for reflectance. After that place the robot on the line and watch the bot follow it. If your using the pololu QTR-8A reflectance array sensor then no significant changes may be required, try to check the values coming from the sensor through the serial monitor. Based on those values adjust the values in the code correspondingly.

For those who made the custom board, find out the rough values of reflectance over the black line and the outer surface. Substitute these values in the code and calibrate it. You can use normal black insulation tape as the line for your line follower. The line follower in action ! EnjoYY!!

 

Code:

/*
Line Follower Robot -Abhishek Sugam, Micosoft Student Partner, University of Washington, Seattle.

Quick and easy line following robot using an IR reflectance
array.Connect Vcc and Gnd to the Pololu QTR-8A sensor from 
the arduino. Connect the pins 1,2,3,... to arduino's analog
pins 0,1,2,3,4,5.
If the average of the 3 values of the sensors on the left is
greater than the average of those on the right, then the robot
moves left and vice versa.
NOTE : The values in the code for analog voltages would have 
to be modified if you are not using the Pololu QTR-8A reflectance
array sensor. Use trial and error to find out max and min 
values for your own IR array sensor.
 
 */
#include <Servo.h> 

Servo left;
Servo right; 

int mid = 0;
int mn = 0;
int mx = 0;

void setup()
{

left.attach(9, 800, 2200); //left servo motor
right.attach(10, 800, 2200); //right servo motor

Serial.begin(115200);

digitalWrite(13, LOW);

right.write(90);//stop signal
left.write(90);//stop signal

for(int i=0; i<5000; i++)
{
digitalWrite(13, HIGH);

int val = 0;
for(int j=0; j<=5; j++)//Calibrating the sensor, finding max and 
{                      //min reflectance values.
val = analogRead(j);
if(val >= mx)
mx = val;
if(val <= mn)
mn = val;
}
delay(1);
}

mid = ((mx + mn)/2);
digitalWrite(13, LOW);

right.write(90);
left.write(90);
}

void loop()
{

int s0 = 0;
int s1 = 0;
int s2 = 0;
int s3 = 0;
int s4 = 0;
int s5 = 0;

s0 = analogRead(0);//Signal pin 1 on the board
s1 = analogRead(1);//Signal pin 2 on the board
s2 = analogRead(2);//Signal pin 3 on the board
s3 = analogRead(3);//Signal pin 4 on the board
s4 = analogRead(4);//Signal pin 5 on the board
s5 = analogRead(5);//Signal pin 6 on the board

Serial.print("Mid: ");
Serial.print(mid); 
Serial.print(" ");
Serial.print(s0); 
Serial.print(" ");
Serial.print(s1); 
Serial.print(" ");
Serial.print(s2); 
Serial.print(" ");
Serial.print(s3); 
Serial.print(" ");
Serial.print(s4); 
Serial.print(" ");
Serial.print(s5); 
Serial.print(" ");
Serial.println();

right.write(180);//Move forward
left.write(0);//Move forward

delay(1);

if((((s0+s1+s2)/3)>(((s3+s4+s5)/3)+240)))//Move right
{
right.write(130);//180
left.write(90);//90
Serial.print(" RIGHT");
delay(abs((((s5+s4+s3)/3)-((s0+s1+s2)/3))/2));
}

if((((s0+s1+s2)/3)<(((s3+s4+s5)/3)-240)))//Move left
{
right.write(40);//90
left.write(0);//0
Serial.print(" LEFT");
delay(abs((((s5+s4+s3)/3)-((s0+s1+s2)/3))/2));
}

if((s0 > mid)&&(s5 > mid))//Stop if all the sensors give low 
{                         //reflectance values
right.write(90);
left.write(90);
Serial.print(" STOP");

for(int k=0; k<50; k++)
{
digitalWrite(13, HIGH);
delay(100);
digitalWrite(13, LOW);
delay(100);
}
delay(5000);
}


}
Advertisements

MSP Recruitment 2014 “UnBoxed” !!

Standard

Is your love of technology impossible to hide? Do you aspire to do more than what’s expected? Do you live to code? Do you love social media? Are you really involved on your campus? Then this opportunity is made for a student like you.

Microsoft Student Partners (MSPs) are social and friendly students who like to meet new people. MSPs are the game changers of the future. They think and act boldly.

As an MSP you would :

  • build apps and demos
  • demonstrate the newest technologies and host tech events on your campus
  • acquire the tools and training to lead technology discussions on your campus
  • build your global network with industry experts
  • connect with like-minded students and faculty around the world
  • attend trainings from Microsoft leaders to enhance your knowledge about cutting edge technologies
  • be the one on your campus with insight and answers on Microsoft technologies

What will You Do as an MSP?

•As an MSP, you’ll be informed about the latest Microsoft technologies. You will acquire the tools and training to lead technology discussions on your campus.
•You will demonstrate the newest technologies, host tech events, and connect with like-minded students and faculty.
•You will lead the Microsoft Student Community at your campus.
•You will work closely with Microsoft and the other MSPs, and build and important network of contacts.
•You will get a proof of your MSP participation that can be used when you apply for work.

 Microsoft Student Partners this past year:

•Built applications.
•Demoed features of Microsoft technologies to students and faculty on campus.
•Recruited for Imagine Cup, the world’s premier student technology competition.
•Chatted about Microsoft technologies on their social networks.
•Helped other students find free software through DreamSpark and IT Academy.
•Attended trainings from Microsoft leaders to enhance their knowledge about cutting edge technologies.
•Found a mentor and continued to build their global network and career skillset.

MSP recruitment procedure 2014 in India, has been announced to be the most difficult amongst the 80 countries where the program is on .

The recruitment procedure was first announced at the MSP summit ’13 at Tula’s in Dehradun on 18th october ’13.

Image

The aspirants have to complete atleast two of the four activities to be eligible for evaluation for the MSP program. However, people completing more than two activities would have a preference . Complete as many activities as you can !!!

The four activities are :

1. build a windows 8 App

Build 1 New Windows 8 App and it should be published to the Windows Store between 25th October, 2013 and 31st December, 2013. Please note that those new Windows 8 apps that go through the App Lab and get a Silver or higher grading before being published on the Store will be considered more favorably.

The following apps will not be considered as a successful completion of this activity:

i. Calculators
ii. RSS Feeds
iii. Converters (Currency, Time etc.)
iv. App(s) builts using third party App Builders

Building a Windows 8 app :

To start developing your apps, you’ll need to install the right tools to get the job done. The Visual Studio 2012 family of development tools offers a powerful development environment to build great apps quickly. Two free versions of Visual Studio 2012 are available to build your apps for Windows Phone 8 and Windows 8.

Tool Description
Visual Studio Express 2012 for Windows 8 Tool to build Windows Store apps. It is free, and includes the Windows 8 SDK, Blend for Visual Studio, and project templates. For more info and links to the download, visitDeveloper downloads for programming Windows Store apps.
Visual Studio Express 2012 for Windows Phone Tool to build Windows Phone 8 apps. It’s free and includes the Windows Phone SDK 8.0, Blend for Visual Studio, and project templates. For more info, see Windows Phone SDK tools.

If you install Visual Studio Pro or greater versions, along with Windows Phone SDK 8.0 and Windows 8 SDK, you can build both app types.

So, you have the tools and you’re sold on the opportunity. What’s next? Well, your time is a valuable asset and you probably want to make the most efficient use of it as possible. You can start right away to code an app for Windows Phone 8 by creating a new project using one of the installed templates. You can do the same for your Windows Store app. However, it makes sense to first consider who you are, your situation and what you are trying to achieve. Knowing the answers to these questions will set you on a path that’s a more effective use of your time.

Who are you? What is your situation? Suggested approach
I’m new to developing apps I have no existing apps, but I can’t wait to build and ship an app in the Windows Phone Store and Windows Store. As a beginner, we recommend that you grab the free tools and start exploring app building for either platform.

I am a seasoned Windows Phone app developer I’ve already built Windows Phone apps and now I want to build apps for Windows Phone 8 and Windows 8. You’ll find a lot of similarities when you develop your apps for both platforms. To get started, explore the following:

I’m a seasoned Windows Store app developer I’ve already built Windows Store apps and now I want to build apps for Windows Phone 8 and Windows 8. You’ll find a lot of similarities when you develop your apps for both platforms. To get started, explore the following:

I’m a seasoned developer from another platform I’ve built apps for other platforms, and I want to ship them, or new creations, on Windows Phone 8 and Windows 8. Many of the programming concepts will be familiar. Both platforms support C++, and the tools have templates to help get you started. To get started, explore the following:

I’m a gaming developer from another platform I’ve built games for other platforms and I want to bring them to Windows Phone 8 and Windows 8. We’ve invested extensively in native gaming support on Windows Phone 8 and this will make it possible for you to port your existing games to both Windows Phone 8 and Windows 8.

Get set up:

  1. Download and install the free tools.
    Microsoft provides two free tools, designed to work together, that help you develop, test, and deploy Windows Store apps: Microsoft Visual Studio Express 2013 for Windows 8.1 and Blend for Visual Studio. (These tools require Windows 8.1.)
  2. Run Visual Studio to get a developer license.
    After you install the tools, run Visual Studio. To develop and test Windows Store apps, you need a developer license, which is free. When Visual Studio prompts you, follow the prompt to get your license.
    (You can also get your developer license without running Visual Studio. For more info, see Get a developer license.)

Explore

You don’t need to learn a new language to start building a Windows Store app—you can create a Windows Store app with what you already know:

  • JavaScript with HTML/CSS
  • C#, Visual Basic, or C++ with XAML
  • C++ with DirectX

Make an app:

After you download the development tools, get a developer license, and pick a language, you’re ready to create your first app. These tutorials show you how:

Design

When planning your Windows Store app, think less about what features you want to include and more about what your app is great at. Once you define the vision for your app, you can start to envision the possibilities for your app’s design. Think about the aspects of an app that make it unique, and uniquely Windows. Plan how you can use visual elements to make your app stand out from the rest. Get inspired by case studies, idea books, and examples of great app design. Plan ahead for different form factors and input interactions, and familiarize yourself with the toolspatternscontrols, andguidelines for designing the app experience.

Envision and design your app:

  • Defining vision helps you frame your design work around a single experience goal for your app. Decide what your app is great at and focus your thinking around that vision of greatness.
  • Migration case studies describe how to redesign a website as a Windows Store app and how to redesign an iPad app as a Windows Store app.
  • Category idea books aim to inspire you with walkthroughs of app ideas in various categories, from financial apps to games, and everything in between.
  • Form factor guidance explains how you can design once, and let your app come alive on devices of all sizes.
  • Downloads for design includes Adobe Illustrator templates, Photoshop templates, Balsamiq mockups, PowerPoint wireframes, and the index of UX guidelines.
  • Windows 8 app certification requirements describe the criteria for publishing your app to the Windows Store. Reading through these requirements can be a great help as you plan your app.

Develop

Create a UI

When you create a Windows Store app, you have access to easy-to-use APIs that simplify layout and presentation. You can design your UI by using the designer in Microsoft Visual Studio or Blend for Visual Studio, and you can fine-tune by directly editing HTML or XAML.

conceptual image of coding a UI in Visual Studio and turning that into a live app

Try it out:

Search and share with other apps

Windows Store apps can search across other apps and even share content with other apps by supporting the right app contracts. App contracts provide a way for apps to work together. They make it easy to access data stored or created by another app by eliminating the need to work with varying standards or app-specific APIs.

For example, Windows lets users share content from one app to another. The app that shares the content out supports a source contract by meeting specific requirements, while the app that receives the shared content supports a target contract by meeting a different set of requirements. You don’t need to know anything about the target app other than its declared support for the target contract———it just works.

conceptual image of searching for Windows Store apps

Try it out:

Create and update tiles

A tile is an extension of your app and can provide much more personal and engaging info than a traditional icon. Use a live tile to provide info on the Start screen even when your app isn’t running.

conceptual image of live data within an app and in a live tile

Try it out:

  • JavaScript with HTML
    • Quickstart: Creating a default tile shows you how to create a default tile—the tile displayed in the Start screen until the tile begins to receive notifications—by using the Microsoft Visual Studio Manifest Editor.
    • Quickstart: Sending a tile update shows you how to define new tile content, send it to your tile, and remove that content once it’s no longer needed.
  • C#, Visual Basic, or C++ with XAML
    • Quickstart: Creating a default tile shows you how to create a default tile—the tile displayed in the Start screen until the tile begins to receive notifications—by using the Microsoft Visual Studio Manifest Editor.
    • Quickstart: Sending a tile update shows you how to define new tile content, send it to your tile, and remove that content once it’s no longer needed.

Use devices and sensors

Windows Store apps can access several types of devices, like cameras and removable storage. Apps can also access input from eight sensors, including accelerometer, inclinometer, gyrometer, compass, ambient-light, orientation, and (with the user’s permission) geographic location sensors.

conceptual image of webcam, geographic, and removable storage providing data for an app

Try it out:

Get all the tools required for app development HERE !!

App Lab:

once you have made your app share your app pacakage with the app lab , get their review and implement them in your app.

App Lab provides design, technical and quality review support for Windows Store Apps and Windows Phone Apps. Write to them at w8pitcrew@microsoft.com with the following details: 

  • Subject: 
     <College Name> App Lab Request < Tech/Design/Review (choose one)>
  • E-mail Body:
    App Name: 
    App Description: 
    URL for XAP/App Package: Upload your .xap file (for Windows Phone apps) or App Package (for Windows Store apps) to SkyDrive or equivalent location and include the URL

While the most important ingredient in the entire app building journey is the “Idea” itself, it is equally important to understand the key aspects of a “good quality” app:

  • Usefulness: The app offers adequate value to users.
  • Stickiness: The app contains features/content that makes users feel like using it frequently.
  • Consistency: The app leverages the design (look & feel) and usage paradigm (functionality) of the underlying platform.
  • Novelty: Uniqueness of the app compared to other similar apps in the Store.

Activity 2. Windows Azure Community Contribution:

Mentor at least 1 unique individual from the community to achieve the status of a “Windows Azure Champion” by organizing workshops/ seminars/ trainings/ evangelism sessions by engaging with Startup’s/ Business Incubators/ Developers/ Technology Enthusiasts/ Technocrats etc.

The status of windows azure community contributor would be strictly as per the Terms & Conditions of the Windows Azure App Accelerator Campaign as per the valid claims sent toindiaazurechamp@microsoft.com from 25th October, 2013 to 31st December, 2013

The following will be the eligibility criteria: a. Participants need to sign-up for a Windows Azure account using any of the offers HERE !!
b. Participants can only sign up for one Windows Azure free trial. Multiple free trial sign -ups by a single individual are not allowed.
c. Each participant should have a minimum usage of 50 USD dollar equivalent real time consumption of Azure during the application building/deployment of Azure, which would be over and above the free trial usage/ free usage limit to be eligible to compete for this campaign.
d. Only those who sign up, activate and consume Azure real time equivalent usage of Minimum 50 USD dollars would be considered eligible for this campaign.
e. Participants need to send us the following details on indiaazurechamp@microsoft.com as part of their claim process. In case they have been helped/ guided by an individual they can mention his/her reference in this e-mail.
i. Windows Azure Account Name, E- Mail id and Azure Subscription ID.

ii. Screenshot of the Windows Azure account which should reflect their e mail id , their Azure subscription ID and a minimum billing of USD 50.

iii. If the Participants are students then their college name/expected year of graduation /course enrolled, contact details needs to be sent as part of the claim process.

iv. If Participants are Technical audience like Developers/ITPro’s /Designers/Architects etc. then their name, organization they represent, and contact details needs to be sent as part of the claim process.

Activity 3. Office App:

Build 1 New Office App and it should be published to the Office Storebetween 25th October, 2013 and 31st December, 2013.

The apps for Office platform lets you create engaging new consumer and enterprise experiences running within supported Office 2013 applications by using the power of the web and standard web technologies like HTML5, XML, CSS3, JavaScript, and REST APIs. You can use your existing knowledge of these web technologies to quickly build your apps.

An app for Office is basically a webpage that is hosted inside an Office client application. You can use apps to extend the functionality of a document, email message, meeting request, or appointment. Apps can run in multiple environments and clients, including rich Office desktop clients, Office Web Apps, mobile browsers, and also on-premises and in the cloud. After you develop and publish your apps to the Office Store or to an onsite catalog, they will be available to consumers from their Office 2013 applications.

To try out some apps, see Download and try out some apps in Word, Excel, Outlook, PowerPoint, and Project.

This document provides a quick overview of the apps for Office platform, how an app works inside of an Office application, and how you publish an app to the Office Store or to an onsite catalog for consumers to use. Once you have read this overview, see the section Create your first app for Office .

The basic components of an app for Office are an XML manifest file and a webpage. The manifest defines various settings and points to the webpage that implements the app UI and custom logic, as shown in Figure 1.

Figure 1. Manifest + webpage = an app for Office

Manifest plus webpage equals app for OfficeThe manifest specifies settings and capabilities of the app, such as the following:

  • The URL of the webpage that implements the app UI and programming logic.
  • The app display name, description, ID, version, and default locale.
  • Whether the app can be shown as a task pane, in line with document content, or activated contextually in an email message, meeting request, or appointment.
  • The kinds of client applications (including rich and Web App clients) that an app supports.
  • The permission level and data access requirements for the app.

For more information about the apps for Office manifest, see Apps for Office XML manifest overview and Creating a manifest for a mail app for Outlook

This section provides a quick look at the three basic types of apps for Office: task pane, content, and mail.

Task pane apps

Task pane apps work side-by-side with an Office document, and let you supply contextual information and functionality to enhance the document viewing and authoring experience. For example, a task pane app can look up and retrieve product information from a web service based on the product name or part number the user selects in the document. Figure 2 shows an example of a task pane app.

Figure 2. Task pane app

Task Pane app

Content apps

Content apps integrate web-based features as content that can be shown in line with the document. Content apps let you integrate rich, web-based data visualizations, embedded media (such as a YouTube video player or a picture gallery), as well as other external content. Figure 3 shows an example of a content app.

Figure 3. Content app

In content app

Mail apps

Mail apps display next to the currently viewed Outlook items: email message, meeting request, meeting response, meeting cancellation, or appointment. They can access contextual information from the item, and then use that data to access additional information on the server and from web services to create compelling user experiences. In most cases, a mail app runs without modification on Outlook, Outlook Web App and OWA for Devices to provide a seamless experience on the desktop, web, and tablet and mobile devices. Figure 4 shows an example of a mail app.

Note Note
Mail apps require Exchange 2013. POP and IMAP email accounts are not supported.
Figure 4. Mail app

Contextual app

Supported applications

One big benefit of apps for Office is that they can be supported both on Office 2013 rich clients and some corresponding Web Apps. To the developer, this means in many scenarios there is no need to create separate apps for the two different environments or applications. To the end user, it means a consistent user experience across the desktop and web browser.

For task pane apps, this means the same app can run on Excel, Word, and Project. For mail apps, this means the same app can work for Outlook on the desktop, and OWA for Devices and Outlook Web App on tablet and mobile devices.

Table 1 shows the Office client applications (including rich and Web App clients) that support apps for Office, and which types of apps are supported by each Office client.

Table 1. Supported app types
Application Supported types
Excel 2013
  • Task pane
  • Content
Excel Web App
  • Task pane
  • Content
Word 2013
  • Task pane
Outlook 2013
  • Mail
OWA for Devices
  • Mail
Outlook Web App
  • Mail
PowerPoint 2013
  • Task pane
Project Professional 2013
  • Task pane

An app for Office can do pretty much anything a webpage can do inside the browser, such as the following:

  • Provide an interactive UI and custom logic through JavaScript.
  • Use JavaScript frameworks such as jQuery.
  • Connect to REST endpoints and web services via HTTP and AJAX.
  • Run server-side code or logic, if the page is implemented using a server-side scripting language such as ASP or PHP.

And, like webpages, apps for Office are subject to the same restrictions imposed by browsers, such as the same-origin policy for domain isolation, and security zones.

In addition to the regular capabilities of a webpage, apps for Office can interact with the Office application and the user’s content through a JavaScript library that the apps for Office infrastructure provides. The specifics of this interaction depend on the type of app, as follows:

  • For task pane and content apps, the API lets your app read and write to documents, as well as handle key application and user events, such as when the active selection changes.
  • For mail apps, the API lets your app access email message, meeting request, and appointment item properties, and user profile information. The API also provides access to some Exchange Web Services operations. For a summary of top features of mail apps, see Fundamentals for developing mail apps in Outlook.

Apps for Office are secured by an app runtime environment, a multiple-tier permissions model, and performance governors. This framework protects the user’s experience in the following ways:

  • Access to the host application’s UI frame is managed.
  • Only indirect access to the host application’s UI thread is allowed.
  • Modal interactions are not allowed.

Further, the runtime framework provides the following benefits to ensure that an app for Office can’t damage the user’s environment:

  • Isolates the process the app runs in.
  • Doesn’t require .dll or .exe replacement or ActiveX components.
  • Makes apps easy to install and uninstall.

Also, the use of memory, CPU, and network resources by apps for Office is governable to ensure that good performance and reliability are maintained.

For more information about the apps for Office privacy and security model, see Privacy and security for apps for Office.

The following sections briefly describe how the runtime architecture supports running apps in Office rich client applications versus Office Web Apps.

Rich clients

In supported rich clients, such as Word, Excel, and Outlook, apps for Office are supported by integrating an in-process component, the apps for Office runtime, which manages the app lifecycle and enables interoperability between the app and the client application. The app webpage itself is hosted out-of-process inside a web browser control which, in turn, is hosted inside an app runtime process that provides security and performance isolation. The apps for Office runtime manages interprocess communication, the translation of JavaScript API calls and events into native ones, as well as UI remoting support to enable the app to be rendered inside the document, in a task pane, or adjacent to an email message, meeting request, or appointment.

Figure 5 illustrates the components (Apps for Office runtime, host process, and JavaScript API) that are provided to support apps for Office running in Office rich client applications.

Figure 5. Apps for Office rich client runtime environment

Rich-client infrastructure

Web Apps

In supported Web Apps, such as Excel Web App and Outlook Web App, apps for Office are hosted in an iframe that runs using the HTML5 sandbox attribute. ActiveX components or navigating the main page of the Web App are not allowed. Apps for Office support is enabled in the Web Apps by the integration of the JavaScript API for Office. In a similar way to the rich client applications, the JavaScript API manages the app lifecycle and interoperability between the app and the Web App. This interoperability is implemented by using a special cross-frame post message communication infrastructure. The same JavaScript library (Office.js) that is used on rich clients is available to interact with the Web App. Figure 6 illustrates the infrastructure that supports apps for Office in the Office Web Apps (running in the browser), and the relevant components (the Web App, iframe, apps for Office runtime, and JavaScript API for Office) that are required to support them.

Figure 6. Infrastructure that supports apps for Office in Office Web Apps Preview

Web-client infrastructure

To create apps for Office, you can use any application that can save a file as text. But, you can create an app for Office more easily in the “Napa” Office 365 Development Tools web-based development environment, or in Visual Studio 2012 or a later version, by using its project templates, development environment, and debugging tools.

Basic components of an app for Office

To create an app for Office, at minimum, a developer must create an HTML webpage and a manifest file. The HTML page can be published to any web server. The manifest file must point to the location of the webpage and be published to any of the following locations: the public Office Store, an internal SharePoint list, or a shared network location.

The most basic app for Office consists of a static HTML page that is hosted inside the task pane of an Office application, but does not interact with either the Office document or any other Internet resource. Figure 7 shows the components of a basic “Hello World” app for Office.

Figure 7. Components of a Hello World app for Office

Components of a Hello World app

Creating an app for Office by using “Napa” Office 365 Development Tools

Perhaps the quickest way to build an app for Office is directly out of a browser. You can do this by using “Napa” Office 365 Development Tools. “Napa” Office 365 Development Tools is web-based development environment that lets you create projects, write code, and run your apps all within the browser. There is no need to install any other tools such as Visual Studio. To learn more, see Create apps for Office and SharePoint by using “Napa” Office 365 Development Tools.

You can begin developing apps for Office by using “Napa” Office 365 Development Tools and then open these projects in Visual Studio if you decide that you want to leverage features such as advanced debugging or the ability to use a web project as part of your app for Office.

Creating an app for Office by using Visual Studio

The most powerful way to build an app for Office is to use the App for Office project template in Visual Studio. Just make a few selections in a wizard. Visual Studio creates a complete solution that contains all of the files that you need to begin testing your app in Office immediately. Visual Studio provides a full range of features to make it easy for you to develop and test apps for Office.

The figure 8 below shows you some of the features that help you develop app for Office.

Figure 8. Visual Studio environment

Visual Studio environment for creating apps

  • Get started quickly with a complete Visual Studio solution.Your solution contains a prepopulated XML manifest file, script libraries, styles sheets, starter HTML and JavaScript files that you can use to get started quickly. The starter HTML file contains a reference to style sheets that enable you to develop a page that has the look and feel of Office. This page also refers to other important files such as a default JavaScript file that you can use to add your JavaScript code. The default JavaScript file contains sample code to help you get started with the JavaScript API for Office.
  • Edit the XML manifest file by using an editor.Modify the most common settings of your app by using a convenient property page-like editor. As you interact with the editor, Visual Studio updates the XML manifest file in your app project for you. You can also edit the XML manifest file directly. The editor and the XML manifest file remain in sync.
  • Quickly uncover validation errors.Validation errors appear in the code editor as well as in the ERRORLIST window. In the code editor, you can point to a validation error to view a tooltip that describes the error.
  • Discover objects in the JavaScript API for Office by using IntelliSense.When you type the name of an object in the JavaScript API for Office, lists of all valid objects or members appear in a drop-down list. You can scroll through the list or type the first few letters of a member to move to that member in the list. As you highlight items in the drop-down list, IntelliSense displays information about the object or parameters.
  • Find and fix issues quickly by using the Visual Studio debugger.When you start the solution, Visual Studio opens the Office application for you. Depending on the type of app for Office you create, Visual Studio automatically shows the app in the Office application. To find and fix issues in your app, set breakpoints, interact with the app, and then step through your code.
  • Package your app for publishing by using the publish wizard.When you are ready to publish your app for Office, just make a few selections in the publish wizard. Visual Studio generates all of the files that you need to publish the app to the SharePoint corporate catalog, the Office store, file catalog share, or Exchange catalog.

JavaScript API for Office

The JavaScript API for Office consists of members of the Microsoft.Office.WebExtension namespace (which is accessed using the Office object in code) contains objects and members for building apps and interacting with Office content and web services.

For more information about the JavaScript API for Office:

You can publish apps for Office to four distribution end-points:

  • Office Store—This is a public marketplace that Microsoft will host and regulate on Office.com. In the Office Store, developers around the world can publish and sell their custom Office solutions, and then end users and IT professionals can download them for personal or corporate use.When a developer uploads an app to the Office Store, Microsoft validates the code. For example, it verifies that the app manifest markup is valid and complete. If the code is valid, Microsoft digitally signs the app package. The Office Store then takes care of the consumer download experience from discovery to purchase, upgrades, and updates.
  • Apps for Office catalog on SharePoint—For task pane and content apps, IT departments can deploy private app catalogs to provide the same app acquisition experience that the Office Store provides. This new catalog and development platform enables IT departments to use a streamlined method to distribute apps for Office and SharePoint to managed users from a central location.App catalogs are available to all SharePoint 2013 customers (including Office 365 and SharePoint on-premise). An app catalog enables publishing and management of both internally created apps as well as apps that are available in the Office Store and licensed for corporate use.
  • Exchange catalog—This is a private catalog for mail apps that is available to users of the Exchange server on which it resides. It enables publishing and management of corporate mail apps, including internally created apps as well as apps that are available in the Office Store and licensed for corporate use.
  • Network shared folder app catalog—IT departments and developers can also deploy task pane and content apps to a central network shared folder, where the manifest files will be stored and managed. Users can then acquire apps by specifying this shared folder as a trusted catalog, or IT departments can configure this shared folder as a trusted catalog by using a registry setting.

For more information, see Publish apps for Office.

The following scenarios show that apps for Office are targeted, quick-hit apps that can be used to solve complex, time-consuming problems.

These scenarios suggest ways in which you can, for example, surface line-of-business data and drive adoption of structured business processes in the familiar Office UI across multiple devices. They suggest how you could use an expense-managing app that connects Office, SharePoint, and SAP, or create an app that combines sales data with maps from the Bing Maps web service to create more effective sales reports. They show how you can unlock the return on your existing investments, such as enterprise resource planning (ERP) and customer relationship management (CRM) applications, by spending less time navigating to and from these applications from an Office client.

Scenarios include:

  • Translation wizard—A Word task pane app that automatically translates selected text from the document language to another language selected from a drop-down list.
  • Chart creation—An Excel content app that builds a chart automatically from selected data.
  • Third-party service integration—A Word or Excel task pane app that automatically displays the Wikipedia page that corresponds to selected text.
  • Rich mash-ups—A Bing map content app in Excel that plots the offshore equipment and resource locations for a petroleum company, including getting this information in real time from the company resource-management system.
  • Spec validation—A section or paragraph of a design specification for an aircraft component is flagged as outdated, because a Word task pane app that communicates with a business system to validate the contents against the latest spec.
  • Order details surfaced in context—A mail app that detects a purchase order number or customer number embedded in an email message and presents details of the order or customer in the message. This could include an action to take, such as approval.

A typical app for Office solution involves the following components:

  • client device running the supported Office rich client or Web App—which can be a desktop, laptop, tablet, or smartphone (for mail apps on OWA for Devices or Outlook Web App).
  • For Word, Excel, PowerPoint, or Project:
    • A document, workbook, presentation, or project.
    • A task pane or content app that the user installed from the public Office Store or from a private SharePoint or file-based app catalog.
  • For Outlook:
    • The user’s email account and mailbox, which resides on an Exchange Server.
    • A mail app that the user or Exchange Server administrator installed through the Exchange Admin Center (EAC).
Note Note
The user’s installation of an app for Office consists of a pointer to an XML manifest file, which specifies the URL from which to load the app webpage and script at run time.

For all supported Office applications, the implementation of the app for Office itself consists of the following server-based components:

  • An XML manifest file which resides on a public or private app catalog.
  • The app HTML, CSS, and JavaScript files, which the developer creates and which reside on a web server.
  • The JavaScript library files, such as JavaScript API for Office (Office.js) and the Microsoft AJAX Library (MicrosoftAjax.js), which Microsoft provides. The app accesses the JavaScript library files from content delivery network (CDN) URLs, as specified in its HTML file.

When a user starts an app for Office in a supported Office rich client or Web App, the following events occur:

  1. When a supported Office application starts, it reads the XML manifests for the apps that have been installed for or by the user.
  2. For Excel, PowerPoint, Project, or Word: When a user inserts or opens a document that contains an app, the Office application loads the app, making its UI visible in the user interface.For Outlook: Whenever the current Outlook context satisfies the activation conditions of an app, Outlook activates the app, making its UI visible in the user interface.
  3. The Office application opens the HTML page in a web browser control (rich client) or an iframe (Web App). The web browser control uses Internet Explorer 9 or later components and provides security and performance isolation.
  4. The browser control or iframe loads the HTML body, and calls the event handler for the onload event.
  5. The apps for Office framework calls the event handler for the initialize event of the Office object.
  6. When the HTML body finishes loading and the app finishes initializing, the main function of the app can proceed.

Activity 4. Microsoft Virtual Academy (MVA):

Utilize Microsoft Virtual Academy (MVA) to keep enhancing your skills andget featured on the Top Students Weekly Leader Board in India on the Official Microsoft Virtual Academy Website.

Work hard for 2-3 days you can easily get featured on MVA as top ten Students of the Week . You would need total points in proximity of 2000 to get to the 1st position

Start MVA today !! as the days go by more participants will try to be on the leaderboard and comppetition will increase 😉

How to achieve some “brownie” points?

Students who successfully complete more than 2 out of 4 above mentioned activities or/ and deliver more than the minimum requirement in these activities would be given greater weightage based on their extra contribution and effort.

For example one can choose to successfully complete 3 out 4 activities or/ and deliver more than the minimum requirement in 1 or more above activities i.e. build more than 1 new high quality Windows 8 App or Office App or mentor more than 1 individual from the community to achieve the status of a “Windows Azure Champion

Note: In any case the applicant would be required to complete at least 2 out of 4 activities to become eligible to proceed for the next step even if he/ she contributes much more in 1 particular activity.

After you have completed atleast two of these activities , You need to get a letter of recommendation !!

Recommendation Letter from your faculty or Microsoft Student Partner (MSP):

This letter should clearly state the attributes or qualities possessed by the student to be recommended to become an MSP.

All of these has to be done by 31st dec ’13 and selection claim should be submitted HERE !!

Step 3: Telephonic Interview with MSP Team:

Students who successfully complete minimum of 2 out of 4 mentioned activities in Step 2 would be eligible for the telephonic interview with the MSP Team. This would be the knock out round in the MSP Selection Process.

ALL the BEST to all Aspirants !! I hope this post gives you a JUMPSTART towards MSP recruitment !!

PS:

Official MSP selection Website HERE !!

Register for MSP selection HERE !!

After  completing the activities submit your claims HERE !!

Content courtesy : MSDN