July, 2011

  

  • Microsoft UK Faculty Connection

    Surface 2.0 SUR40 SDK now available

    • 0 Comments

    On the 12th of July 2011 Microsoft released the Surface 2.0 SDK.

    The SDK simply makes it easy to create engaging experiences, using multitouch and object interaction, for the next generation device for Microsoft Surface – the Samsung SUR40 for Microsoft Surface.

    The Surface 2.0 SDK replaces the Microsoft Surface Toolkit for Windows Touch Beta that was released last year.

    Download the SDK and find training, documentation, and guidance on the new Surface development center at www.msdn.com/windows/surface/

    Overview

    The Microsoft® Surface® 2.0 SDK is a set of controls, APIs, templates, tools, sample applications, and documentation for application developers. Using the familiar .NET Framework 4.0, Windows Presentation Framework 4.0 (WPF) or XNA framework 4.0, and the Surface 2.0 SDK, developers can quickly and consistently create innovative applications that take advantage of the new PixelSense™ technology delivered in the Surface 2.0 platform.

    The next generation Surface device, the Samsung SUR40 for Microsoft Surface, was announced in January 2011 and will be available to commercial customers in 23 countries later this year. For more information on the Samsung SUR40 for Microsoft Surface, visit www.surface.com.

    clip_image002
    Library Controls
    clip_image003
    Element Menu
    clip_image005
    The Input Simulator
    clip_image007
    Raw Image Visualizer

     System Requirements

    The Surface 2.0 SDK runs on the Samsung SUR40 for Microsoft Surface or a PC with a 32-bit or 64-bit edition of one of the following Windows® 7 operating systems:

    Windows 7 Home Premium

    Windows 7 Professional

    Windows 7 Ultimate

    Additional Requirements:

    • Microsoft Visual C#® 2010 Express Edition or Microsoft Visual Studio® 2010
    • Microsoft .NET 4.0.
    • Microsoft XNA® Framework Redistributable is required to run some Surface SDK samples.
    • Microsoft Expression Blend® 4 is recommended to edit XAML code that defines user interface

    The Surface SDK supports input devices such as mouse, touch, and tagged objects. With the Surface SDK, you can develop an application that supports various types of input. However, to test your application in a touch-enabled environment, your computer must have a touch-screen digitizer.


    SDK Contents

    The Surface SDK contains the following resources:

    Resource

    Description

    Reference assemblies

    These assemblies provide the classes that are necessary to create a touch-enabled application.

    Visual Studio project and item templates

    These templates enable you to quickly create a touch-enabled application. When you create a project by selecting the Surface template, all of the necessary references and resources are automatically included as part of your project.

    Tools

    The input simulator, input visualizer, and Surface stress tools help you develop and test applications for the Samsung SUR40 for Microsoft Surface and Windows 7 touch-enabled PCs. With the Surface Input Simulator tool, you can simulate different inputs, hardware capabilities, and tilt of the device.

    Sample applications

    Sample applications are fully functional applications that you can build and run. These applications showcase various features of the Surface environment. You can run these applications to see Surface functionality in action, and examine the source code to see how certain tasks are performed.

    Documentation

    The documentation for the Surface SDK includes short examples of how to perform various programming tasks, longer and more detailed examination into various programming scenarios, and a detailed API reference.

    Note: When you are ready to distribute an application that you have created with the Surface SDK, download the Microsoft® Surface® 2.0 Runtime from MSDN and include it with your installation package. The Surface SDK Runtime contains the reference assemblies that are required to run your application.

    Surface API

    There are two types of APIs; presentation API and core APIs. The Presentation APIs use Microsoft Windows Presentation Foundation (WPF), which is the standard choice for developing touch-enabled applications. The cores APIs are .NET platform agnostic APIs that enable querying a raw image directly and registering for touch events. Learn more about the core API at http://msdn.microsoft.com/en-us/library/ff727894(v=Surface.20).aspx.

    Surface Controls

    Your touch-enabled application will usually contain one or more Surface controls. Some of these controls are specialized counterparts to WPF controls, and others enable you to include functionality in your application in ways that have no WPF counterpart. The following table summarizes the controls that are included in the Microsoft Surface SDK for Windows Touch Beta.

    Control

    Description

    LibraryBar

    The LibraryBar control enables you to list items horizontally, group items into several groups, and scroll groups. By default, the LibraryBar control supports drag-and-drop operations.

    LibraryContainer

    The LibraryContainer control is a dual-view control that arranges items in a horizontal bar or in a vertical stack and enables you to switch back and forth between the two views.

    LibraryStack

    The LibraryStack control enables you to display items that are stacked on each other. Users can view the individual items by rearranging the order of the stack or by removing items from the stack. By default, the LibraryStack control supports drag-and-drop operations.

    ScatterView

    The ScatterView control is a container for any other User Interface (UI) element. When you place a UI element inside of a ScatterView control, that element automatically gains the ability to be moved, rotated, and resized using one or multiple touches.

    ElementMenu

    The ElementMenu control implements a collection of items in a tree hierarchy that users can select.

    SurfaceButton

    The SurfaceButton control is a specialized version of the WPF Button control. SurfaceButton provides a different default look-and-feel, adds support for Touch Visualizations, and customizes the handling of input device events so that if multiple touches are targeting the control, the Click event is raised only after all touches are lifted.

    SurfaceCheckBox

    The SurfaceCheckBox control is a specialized version of the WPF CheckBox control. SurfaceCheckBox provides a different default look-and-feel, adds support for Touch Visualizations, and customizes the handling of input device events so that if multiple touches are targeting the control, the Click event is raised only after all touches are lifted.

    SurfaceTextBox

    The SurfaceTextBox control provides an unconstrained data entry field. The SurfaceTextBox control also provides the on-screen keyboard so that you do not have to specifically invoke the keyboard.

    SurfaceInkCanvas

    The SurfaceInkCanvas control provides a drawing canvas that you can use with touch input to create, modify, and delete drawing strokes.

    SurfaceListBox

    The SurfaceListBox control is a specialized version of the WPF ListBox control. SurfaceListBox adds support for panning, the ability to move the content by direct contact with the content itself, instead of using a scroll bar.

    SurfaceRadioButton

    The SurfaceRadioButton control is a specialized version of the WPF RadioButton control. SurfaceRadioButton provides a different default look-and-feel, adds support for Touch Visualizations, and customizes the handling of input device events so that if multiple touches are targeting the control, the Click event is raised only after all touches are lifted.

    SurfaceScrollViewer

    The SurfaceScrollViewer control is a specialized version of the WPF ScrollViewer control. SurfaceScrollViewer adds support for panning, the ability to move the content by direct contact with the content itself, instead of using a scroll bar.

    SurfaceSlider

    The SurfaceSlider control is a specialized version of the WPF Slider control. SurfaceSlider provides a different default look-and-feel, and adds support for Touch Visualizations.

    SurfaceWindow

    The SurfaceWindow control is a specialized version of the WPF Window control. SurfaceWindow provides and activates the necessary event handlers to make sure that it receives touch events.

    Sample Application Projects

    The sample applications that come with the Surface SDK show several different programming techniques in a complete application. You can use these applications as a starting point for more complete applications or just as examples of best practices in Surface programming. For information about obtaining the sample files, see Extracting and Installing the Surface Samples.

    Samples that use the Core layer and XNA Framework

    Sample

    Description

    Finger Fountain

    Draws small images for every contact at every frame. This sample emphasizes multiple touches and shows how to use the Microsoft XNA APIs.

    Framework

    Provides an extensive sample framework that helps you create controls by using the Core layer. The code in this sample eliminates inconsistent behavior among Core-based applications by using the Model-View-Controller (MVC) design pattern.

    Cloth

    An XNA-based application that demonstrates how to use the Core Interaction Framework

    RawImage Visualizer

    Shows how to use the RawImage APIs for XNA applications. This sample displays captured normalized (8 bit per pixel) images that are flipped vertically.

    XNA Scatter

    Demonstrates how to use the manipulations and inertia APIs to move graphical user interface (GUI) components around in a Surface application in a natural and intuitive way.

    Samples that use the Presentation Layer (WPF)

    Sample

    Description

    Controls Box

    Shows how to build simple application behaviors from touch-enabled controls that the Presentation layer provides, such as updating a text box when a user touches a button

    Data Visualizer

    Shows contact properties that are exposed in the Presentation layer (such as x, y, height, width, major axis, minor axis, and orientation) and how you can read and use these properties in a Surface application.

    Grand Piano

    Demonstrates how to integrate sound into Surface applications based on the Presentation layer.

    Item Compare

    Represents a simple tool that lets a user compare and contrast the properties of two "items" (tagged objects).

    Photo Paint

    Uses the SurfaceInkCanvas control to implement drawing and painting over pictures and video

    ScatterPuzzle

    Shows an implementation of the ScatterView and SurfaceListBox controls to create a simple puzzle game. The ScatterView and SurfaceListBox controls automatically provide some powerful features related to Surface.

    Shopping Cart

    Shows how to implement drag-and-drop functionality in a retail application.

    Tag Visualizer Events

    Shows how to incorporate hit-testing in the TagVisualizer control to let user interface (UI) elements react when tagged objects move over them.

  • Microsoft UK Faculty Connection

    Windows Azure toolkit for iOS devices iPhone, iPad

    • 1 Comments

    windowsAzureLogo 
     Wp7 Ipadiphone

    Just over a month we released the Azure toolkit for Windows Phone 7, Microsoft has now released the Azure tookit for iOS, and Android is next in line.

    The toolkit contains a “compiled Objective-C library for working with services running in Windows Azure (e.g. push notification, authN/authZ, and storage),” along with Objective-C source code and Xcode project files. It also includes a sample iOS application and its source code, designed to show developers how Azure can be used inside of the platform.

    The toolkit has been posted to github and can be found at the following three links:

    Details on how to get started can be found here.

  • Microsoft UK Faculty Connection

    .NET Gadgeteer

    • 1 Comments

    gadget

    Have you heard about .NET Gadgeteer?

    .Net Gadgeteer is the powerful prototyping, cool hobbyist, unique teaching kit that was developed by the whizzes in Microsoft Research (yes – they like to play too). To learn more, check out a Channel 9 Video or simply watch the video below.

    What is .NET Gadgeteer?

    Microsoft .NET Gadgeteer is a rapid prototyping platform for small electronic gadgets and embedded hardware devices. It combines the advantages of object-oriented programming, solderless assembly of electronics using a kit of hardware modules, and quick physical enclosure fabrication using computer-aided design.

    Individual .NET Gadgeteer modules can be easily connected together to construct both simple and sophisticated devices. Each module adds some extra capabilities, such as the ability to display images, playback sounds, take pictures, sense the environment, communicate with other devices or enable user interaction.

    The platform is built on the .NET Micro Framework, which allows small devices to be programmed in the C# language and make use of Visual Studio’s programming and debugging tools.

    This powerful combination allows fully functional devices to be prototyped in a matter of hours rather than days or weeks.

    How can you get your hands on one?

    It's OK – we're used to that question. We hear it every time we show the .NET Gadgeteer. Well, Microsoft has decided to Open Source the designs (Creative Commons) and libraries (Apache 2.0) for the .NET Gadgeteer to see how fast we can get it out to people who want to use it. We are actively recruiting hardware vendors who are interested in developing kits and modules to build out this ecosystem. If that describes you, contact us at gadgeteer@microsoft.com for more information.

    How long will it be until I can get one?

    We had some redesign work to do to insure that the system could really be open to a wide variety of designs. We are there now so keep an eye on this space for updates.

    In the meantime, where can I actually see the current devices?

    The .NET Gadgeteer is being displayed at a number of venues in the next few months including MIX11, TechEd 2011, and OSCON 2011.

    Visit the following URLs for more details, information and Source Code

    Faculty Connection Resource Site http://www.microsoft.com/education/facultyconnection/GB/articles/articledetails.aspx?cid=2329&c1=en-gb&c2=GB 

    Codeplex Source Code Download http://gadgeteer.codeplex.com/

    MS Research .NET Gadgeteer site http://research.microsoft.com/en-us/projects/gadgeteer/default.aspx

    .NET Gadgeteer Announcement site - http://netmf.com/gadgeteer/

    Have something to add? Got a request or suggestion?

    You can drop us a line at the same email address – gadgeteer@microsoft.com or follow us on Twitter at @netgadgeteer.

  • Microsoft UK Faculty Connection

    Kinect Gestures toolkit and library

    • 0 Comments

     

    Microsoft David Catuhe’s work is too brilliant not to shared so if your interested in Kinect SDK Development then you need to check out David’s Gestures and toolkit library for Kinect at http://blogs.msdn.com/b/eternalcoding/archive/2011/07/04/gestures-and-tools-for-kinect.aspx

    David has also produced the following codeplex project http://kinecttoolkit.codeplex.com/

    Details of the library:

    1. Gestures

    · SwipeGestureDetector class will allow you to detect simple gestures (such as swipe to left or swipe to right)

    · TemplateGestureDetector will allow you to detect gestures using templates:

    The class can record templates and save them in a file used by a learning machine. With this learning machine, the system try to detect one of the recorded template in the current list of positions.

    You can see on the UI the list of used templates:

    clip_image003

    2. Postures

    PostureDetector allows you to detect simple postures such as:

    · Hand over head

    · Hello

    · Hands joined

    3. Skeleton stability

    BarycenterHelper class can detect for you if a skeleton is stable (not moving). With this tool, you can detect wrong gestures produced by a moving skeleton

    4. Debug and replay

    · To help you debug, the library includes a record/replay of skeletons frames. With this tool, developing with Kinect is much less sportJ

    · The library can also paint current saved positions for gestures detection

    clip_image006

    For further details and full code samples see http://blogs.msdn.com/b/eternalcoding/archive/2011/07/04/gestures-and-tools-for-kinect.aspx

  • Microsoft UK Faculty Connection

    Microsoft Openness

    • 0 Comments

    openness

    Microsoft Openness goal is to promote greater interoperability, opportunity and choice for customers and developers throughout the industry by making our products more open and by sharing even more information about our technologies.

    Microsoft has changed as a company and is becoming more open in the way that we work with and collaborate with others in the industry, in how we listen to customers, and in our approach our the cloud services, tools and support.

    For example did you know Microsoft is one of the biggest contributes to the Linux 3.0 project? LWN.net published an article listing the different contributors to the changes in the source code of Linux kernel 3.0. According to the article, Microsoft has contributed 361 changes/patches to the Linux kernel 3.0, which makes it Microsoft the seventh largest contributor to the kernel and fifth largest corporate contributor.

    Watch this video where James Utzschneider, General Manager of Worldwide Sales and Marketing at Microsoft explains how Microsoft is becoming more open.

    Openness is sharing.

    At Microsoft, we’re building bridges across platforms, applications and data to create a more interoperable IT ecosystem. On this site, you’ll find stories of governments, companies, universities and individuals who have found success mixing Microsoft technologies with other technologies – including open source – to make efficient, forward-thinking solutions. And we’d love to hear from you, too.

    Share your story or simply give some feedback via the Openness site http://www.voiceofopenness.com/

    Resources

    Openness Blog - http://blogs.technet.com/b/openness/

    Openness Case Studies and Stories - http://www.voiceofopenness.com/

    Openness Site - http://www.microsoft.com/en-us/openness/default.aspx

    Openness on Twitter – http://www.twitter.com/openatmicrosoft

    Microsoft & SUSE Linux Support https://expandedsupport.com

  • Microsoft UK Faculty Connection

    Robots – Using NAO and Microsoft Robotics Studio

    • 0 Comments

    robotics

    NAONAO, Aldebaran's humanoid robot for STEM education, is now available for use in education.

    The 22-inch-tall robot can see, hear, speak, move, walk, dance, play soccer, recognize faces and objects, understand what is said to him, localize sound, and speak seven languages, and is currently being used in more than 350 schools and universities to teach classes including math, robotics, and computer sciences.

    Exploring STEM with NAO is a fascinating experience. Here are a few examples of lectures and labs  that educators can easily implement in classrooms with NAO:

    Introduction to Robotics
    What’s a gear?
    What’s torque?
    What’s mechatronics?
    Technology and society, ethical issues...

    Introduction to Computer Science
    Basics of programming
    Architecture of Information systems
    Communications
    Initiation to Game theory

    Physics
    Sensors and physical quantities measurement
    Transfer of energy
    Motion and forces
    Study of the ultrasounds
    Speed and Kinematics
    Study of the physical properties of Light: NAO’s infrareds
    Optics: NAO’s vision

    Mathematics
    From continuous functions to motion animations
    Geometry and trigonometry: placement and distance
    Equations, calculating distance
    Logics, Reasoning and proof
    Probability and Statistics

    Choregraphe is the programming software that lets NAO users create and edit movements and interactive behaviours with complete simplicity. The intuitive graphic interface, the library of behaviours delivered as a standard feature and the advanced programming functions satisfy the needs of novices and experts. Everyone can compose their own behaviours by a simple drag/copy from the library or else create their own boxes and save them in their personal library.

    Choregraphe accepts Urbi and Python language, so it can directly call C++ modules developed separately. It comes with many detailed examples to simplify the learning process. Choregraphe is 100% compatible with Microsoft Robotics Studio which allow you to test behaviours in custom environments with one or more programmable in Python and C++, and ships with a software development kit for more information on Microsoft Robotics Studio click here.

    Nao is 100% .Net Compatible and NAO's API can be accessed from a remote PC using any language supported by the .Net Framework version 2 or above including C# and VBScript. With auto-completion and integrated help, it makes communicating with your NAO easy from popular windows tools such as Microsoft Visual Studio.

    Aldebaran Robotics has decided to help ambitious educational projects that embrace Robotics  if your interested in this opportunity you can apply for the Aldebaran Educational Partnership Program

  • Microsoft UK Faculty Connection

    University of Oxford Department of Computer Science Industry day

    • 0 Comments

     

    clip_image002

    On the 1st of June 2011 Geoff Hughes attended the University of Oxford Industry Showcase 2011. The day included three keynote speeches on research projects, plus micro-slots where researchers had two-minutes to pitch their research to the audience in quick succession. It coincided with the renaming of Oxford University Computing Laboratory ( Comlab ) to The department of Computer Science at the University of Oxford.

    For more information on the department of Computer Science at the University of Oxford visit. http://www.cs.ox.ac.uk/

    As part of the industry day, teams of 2nd year computer science students presented their 2nd year group projects using a wide range of technologies from Robots to Windows Phone7 to Microsoft Surface!  Congratulations to “Team 1” who won a cash prize for their “TowerTunes” application developed for Microsoft Surface.

    The challenge:

    “Write an application for the Surface that will encourage people to make music together in a group - either by mixing samples, tapping on a simulated keyboard or drumskin, or whatever interface can be devised”

    “Team1" Bogdan-Alexandru Panait (Music and sound) Chris Hydon (Source control, game model) Daniel Nichol (Graphics programming) Ian Jones (Enemy AI and choreography, game model) Kris Joanidis (Graphics modelling)

    Congratulations to all the teams as well as the teaching and administration teams at the University of Oxford for such an inspiring and enjoyable day  Peter Jeavons, Suzanna Marsh, Leanne Carveth, Sharon Lloyd

     

    Below is a slideshow of pictures from the day.

    flickr

  • Microsoft UK Faculty Connection

    Windows Phone Mango Beta - Update Guide for Windows Phone 7

    • 0 Comments

    wp7

    The Beta version of the new Mango (7.1) update for Windows Phone 7 has been made available to all registered developers which will also allow you to push the update to your WP7 device.

    For those of you wanting to get the Mango BETA update on your academic teaching and learning phones, please read the following post, the intention of this post is to ensure that you are in a position of being able to discuss the opportunity and enhancement of Mango within your teaching curricula.

    I must stress this is a Beta release and as such there will be NO upgrade path to future releases of Mango. Therefore please ensure that this isn’t your primary device as you  will need to restore your phone to a supported state before being able to install the final versions of the product.

    So what the process of installing the BETA

    Backup phone

    1. Back up your phone. You want to make sure that you can quickly get it back to a supported state ASAP should it run into difficulties or require to update the device to the final version.

    Ensure you phone is backed up prior to running the update simply use backup/restore app provided on xda-developers.com

    NB: When you do this restore, you will loose any of the changes you’ve made to your phone, this will include app installations, music added, game scores, photos, videos etc.

    After your restore you will need to reinstall all previous installed apps from the MarketPlace you will NOT be charged for them again, but you may wish to note down the apps you have installed.

    Install the Beta2 SDK

    If you have previously installed the Beta1 SDK then you need to now go to your “Control Panel” > “Programs and Features” and uninstall that SDK.

    Visit the download page for the SDK and download and read the release notes.

    NB: Please ensure you read the T&Cs and notes.

    Download and run the vm_web2.exe link

    You will now have the  Beta2 development tools for  WP7 app and the Emulator, this is excellent for your curricula notes and assessments.

    Invitation from Microsoft via email

    So if your already a  Microsoft Registered developer via Microsoft DreamSpark you will have received an email from Microsoft Connect  inviting you to download the update. If your NOT a registered developer then simply register via DreamSpark this will then give you access to the tools to get your phone updated.

    Installing the tools

    You will also need to update Zune along with other supporting utilities and the all important update instructions.

    NB: Please ensure you read update instructions

  • Microsoft UK Faculty Connection

    Windows Azure Toolkit for Social Games

    • 2 Comments

    clip_image001

    Microsoft are pleased to announce the release of the Windows Azure Toolkit for Social Games

    This toolkit is a preview but will allow you and your students to quickly get started building new social games in Windows Azure.

    The toolkit includes the following assets

    1. Accelerators

    2. Libraries

    3. Developer tools

    4. Samples

    The toolkit also includes specific services and code to handle capabilities unique to games, such as storing user profiles, maintaining leader boards, in-app purchasing, and so forth. In addition to releasing the toolkit, we have also teamed with industry innovator Grant Skinner and his team to create a game called Tankster.

    clip_image002

    Tankster is built with HTML5 and comes complete with reusable service-side code and documentation. It also supports a variety of social interactions including messaging, wall posts, and comments while player achievements and game stats are presented on a live leaderboard so gamers can interact with each other.

    For more information please visit the following

    Windows Azure Team Blog: Build Your Next Game with the Windows Azure Toolkit for Social Games

    WA.com: Social Gaming on Windows Azure

    Channel 9: Social Gaming on Windows Azure

    CodePlex: Windows Azure Toolkit for Social Gaming

    Tankster: http://www.tankster.net/

  • Microsoft UK Faculty Connection

    Microsoft Zentity– helping you manage your digital repositories

    • 0 Comments

     

    Zentity

    Microsoft Zentity is a semantically enabled repository platform that provides a suite of building blocks, tools, and services to create and maintain an organisation’s digital-library ecosystem. The research lifecycle generates a wide variety of outputs that are important to store and track as part of the on-going research process. Zentity maximizes the value of this output by helping researchers access, analyse, and unlock the previously hidden structure and relationships among data elements.


    Zentity 2.0 Introduction Video

    Microsoft Research Senior Program Manager Oscar Naim introduces Zentity 2.0 and demonstrates some of the great new features, including the Pivot Viewer and Visual Explorer.

    Get Microsoft Silverlight

    About Zentity 2.0

    Microsoft Zentity is a repository platform designed for academic, governmental, and scientific organizations that conduct and compile research. From a technical standpoint, Zentity is a hybrid store: a combination of a triplestore and a traditional relational database.

    Microsoft Zentity is data agnostic, supporting arbitrary data models, and provides semantically rich functionality that enables the ability to find and explore interesting relationships between elements both programmatically, by using the Zentity API, and visually, by using Microsoft Live Lab Pivot Viewer and Microsoft Research Visual Explorer.

    Microsoft Zentity incorporates the Pivot Collection Service, which makes it easier to maintain, display, and interact with data in flexible and innovative ways. The Pivot Collection Service works in conjunction with the Pivot Viewer, which is a Silverlight control to visualize n-dimensional data sets and the metadata associated with them. Zentity also includes the Visual Explorer Silverlight control, which enables researchers to visually navigate Zentity data by using a graph metaphor.

    Microsoft Zentity also enables interesting information aggregation scenarios, or mashups, across different data sources, by taking advantage of standard protocols such as the Open Data Protocol, OData.

    Other features of Zentity include:

    • Zentity Software Development Kit Includes dynamically created sample data sets from publicly available sources, such as Pub Med, programming examples, and API documentation.
    • Zentity Console An application based on PowerShell commandlets that provides easy access to the Zentity API by using a console application.
    • Zentity Data Service This service exposes arbitrary data models stored in Zentity to external applications. This service is based on WCF Data Services and it is ODATA compliant, which allows applications such as Excel Power Pivot to connect to Zentity and enable data mining.
    • Improved deployment experience Most users can install Zentity and begin using it within 15 minutes or less.

    For more information on Microsoft Zentity see http://research.microsoft.com/en-us/downloads/a4125c74-36ea-4f23-9278-792de0808e45/

Page 1 of 3 (30 items) 123