Presenty User Interface Framework



Similar documents
Home Phone Call Forward Guide

Software Activation. high security remote access. NCP Secure Entry Client

Table of Contents. Chapter 1: Installing Endpoint Application Control. Chapter 2: Getting Support. Index

Creating Service Definition file while disconnected from the server

VUBnet, The network of the Vrije Universiteit Brussel. VUBnext Wireless configuration

Windchill Service Information Manager Curriculum Guide

Serial Deployment Quick Start Guide


Configure Web Conference Parameters Through The Web Conference Administration User Interface.

Automating the Development of Information Systems with the MOSKitt Open Source Tool

FEC Secure IPSec Client

Customer Success Story: Dragon Medical 360 Network Edition with Microsoft Application Virtualization

Citrix StoreFront. Customizing the Receiver for Web User Interface Citrix. All rights reserved.

Credit Card Processing Installation Instructions

Phone: Fax: Box: 230

WORKING WITH WINDOWS FIREWALL IN WINDOWS 7

How to Develop Accessible Linux Applications

University Computing & Telecommunications Virtual Private Networking: How To/Self- Help Guide Windows 8.1 Operating System.

Coyote SP - Installation Notes

Figure 1 responsive grid system for all view ports, from desktops, tablets and smart phones

ProxySG TechBrief Implementing a Reverse Proxy

Setup When you have met all these requirements, follow these steps to perform the installation and configuration.

EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer

DWG TrueConnect: Making These Autodesk Inventor Tools Work for You

Phone: Fax: Box: 230

Administrator s Guide

MiniDraw Introducing a framework... and a few patterns

Grandstream Networks, Inc.

Windows Compatibility

Content Management Implementation Guide 5.3 SP1

Installation and Configuration Manual

Configuring Elastix for Spitfire SIP Trunks

Automate tasks with Visual Basic macros

Desktop Configurations For General Ledger and Financial Reports. User Guide

FUNCTIONAL OVERVIEW VERSION: 1.0

<Insert Picture Here> Hudson Security Architecture. Winston Prakash. Click to edit Master subtitle style

Software Tender for Voice over IP Telephony SuperTel Incorporated

Microinvest Warehouse Pro Light Restaurant is designed to work in tandem with Microinvest Warehouse Pro which provides all back office functions.

Overview of Web Request Routing Through Unified ICM

LMS 365 Learning Module Builder Add-in User Guide VERSION X

Create Your Free Mobile Site App in Baidu Webmaster Tools

HTTPS HTTP. ProxySG Web Server. Client. ProxySG TechBrief Reverse Proxy with SSL. 1 Technical Brief

Adam Rauch Partner, LabKey Software Extending LabKey Server Part 1: Retrieving and Presenting Data

PNMsoft Sequence Ticketing Solution (PSTS)

Connecting to the FILTER Virtual Private Network (VPN)

Rich-Internet Anwendungen auf Basis von ColdFusion und Ajax

Create a List to Show Products Purchased by Company Sage CRM for iphone - Adding Custom Entities

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

How To Sync Between Quickbooks And Act

How to Setup SQL Server Replication

Installing Remote Desktop Connection

What is BPM? Software tools enabling BPM

Table of Contents VISMA ANALYSIS VISMA ANALYSIS VISMA ANALYSIS

Avira Server Security Product Updates. Best Practice

Using the Synchronization Client

Citywide User Experience Design Guidelines: NYC.gov Style Guide. Final Public 11/8/2013

Analytics Configuration Reference

Quick Start Tutorial. Using the TASKING* Software Development Tools with the Intel 8x930 Family Evaluation Board

Visual Studio 2008: Windows Presentation Foundation

Configuring Firewalls An XML-based Approach to Modelling and Implementing Firewall Configurations

SMARTEAM - Editor Administrator Guide

Mobile Device Management ios Policies

Dolphin Dynamics. Document Configuration: HTML Editor

STM Quick Installation Guide

Autograph Network Installation

PARTNER ACS R4.0 Remote Administration R4.0. Getting Started

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

SIDE BY SIDE MIGRATION STEPS. John Johnston, Senior Solutions Architect SA IT Services

DSL-520B Firmware Release Notes

Building Views and Charts in Requests Introduction to Answers views and charts Creating and editing charts Performing common view tasks

CIS 544 Advanced Software Design and Development. Project Management System. Oreoluwa Alebiosu

1Building Communications Solutions with Microsoft Lync Server 2010

International Semester. Interactive Design. at the Danish School of Media and Journalism. Study Guide.

Create, Link, or Edit a GPO with Active Directory Users and Computers

Excel Reports and Macros

Skywire TCP Socket Examples

SAS Add in to MS Office A Tutorial Angela Hall, Zencos Consulting, Cary, NC

Release Document Version: User Guide: SAP BusinessObjects Analysis, edition for Microsoft Office

ScreenMatch: Providing Context to Software Translators by Displaying Screenshots

ENABLE LOGON/LOGOFF AUDITING

ScopTEL TM IP PBX Software. Fixed Mobile Convergence and Follow Me

How to Build Successful DSL s. Jos Warmer Leendert Versluijs

ISC EDUCATION WEBINAR. Physical Security Information Management

ICS : 435. Computer Graphics Applications. Instructor : Da'ad Albalawneh

Installation and Configuration Guide

Parallel Computing with Mathematica UVACSE Short Course

Dramatically simplifying voice and data networking. IVR Editor HOW-TO Guide

UTM Quick Installation Guide

Win 7 - STIMA CLS / CMP Driver Installation Quick Guide

Using Enhanced Feature Keys and Configurable Soft Keys on Polycom Phones

A L ERT. Quick Start With

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Transcription:

Presenty User Interface Framework http://www.squeaksource.com/presenty MIT license

Presenty Platform-independent user interface application

Desktop contact manager

Filter contacts by typed name

Select contact from groups

Select contact from last calls

Contact selection show details data

Presenty approach Multiple separated tasks a user can perform Each task is a sequence of user requests Contact groups selection task: 1) select group from groups list 2) select contact from selected group contents 3) look at selected contact details

Implementation Continuation-based tasks as elements of user interaction at application level User requests as building blocks for tasks: Primitive user requests to invoke base interface components Compound requests for calling other tasks Extendable DSL (pure Smalltalk) facilitating task implementation Modified Model-View-Presenter pattern

SelectContactFromGroupsTask body selected group group := user select: ContactsGroup from: ContactManager groups. selected := user select: Contact from: group contents. user goto: (DetailedContactPresenter on: selected )

Select contact from groups

SelectContactBySearchTask body selected selected := user execute: ( PtySearchItemTask foritems: ContactManager contacts ofclass: Contact). guide restoreactivearea. user goto: (DetailedContactPresenter on: selected )

SelectContactFromLastCallsTask body selected selected := user select: 'LastContact' from: ContactManager lastcalls. user goto: (DetailedContactPresenter on: selected )

ShowContactsForDesktopTask body guide viewport createnewviewarea. guide forktask: SelectContactFromLastCallsTask new. guide forktask: SelectContactFromGroupsTask new. guide forktask: SelectContactBySearchTask new. user goto: [guide showviewarea]

Select contact from last calls

Select contact from last calls

Select contact from groups

Select contact from groups

Filter contacts by typed name

guide translator

Filter contacts by typed name

Filter contacts by typed name

ShowContactsForPhoneTask body taskclass guide viewport createnewviewarea. taskclass := user select: 'ContactManagerTask' from: {SelectContactFromLastCallsTask. SelectContactFromGroupsTask. SelectContactBySearchTask}. guide addbackbutton. user execute: taskclass new

Task Configuration Presenter can have different views in different contexts For different parent presenters For different tasks For different styles of presenter For different styles of parent presenter

Task Configuration Guide can store default settings for tasks guide create: PtyShowListTask Task settings can vary in different contexts

How tasks configured PtyItemsListTask has itempresenterfactory which can be saved in settings PtyExplicitPresenterFactory specifyed concrete presenter class to present list items PtyPresenterPreviewFactory use #preferredpreviewpresenter message for getting presenter from list item

What should be done Configurable task activation Simple object editor task user edit: object Better designer Serializing prototypes and settings to style classes Searching for prototypes and settings in multiple task contexts Documentation

Questions?

The end

Modal warning example

Tasks from blocks DetailedContactPresenter>>runCall guide executetask: [ guide doinmodal: [ guide user warn: 'You dial to ', model printstring]. guide user stopcurrenttask. ] astask

Presenty UI framework Modified Model-View-Presenter pattern Continuation-based tasks as elements of user interaction at application level User requests as building blocks for tasks: Primitive user requests to invoke base interface components Compound requests for calling other tasks Extendable DSL (pure Smalltalk) facilitating task implementation Prototyping for visual components and tasks

Modified Model-View-Presenter pattern