This document discusses various mobile design patterns and concepts. It covers common UI patterns like lists, navigation, and forms. It also discusses design principles for mobile like direct manipulation and feedback. It provides examples of implementing lists in Android and iOS. It compares MVC and MVVM patterns and discusses using MVVM frameworks. It emphasizes adapting patterns from desktop to be optimized for mobile interaction paradigms.
Report
Share
Report
Share
1 of 33
More Related Content
Mobile UI Design Patterns
1. Mobile Design PatternsMobile Design Patterns
By Dan Hermes
dan@lexiconsystemsinc.com
www.lexiconsystemsinc.com
Boston Code Camp 21
3. Mobile Concepts and PatternsMobile Concepts and Patterns
UI
◦ Visual Design Patterns
Data Access
◦ Local
◦ Web Services
◦ Data Binding
◦ Data Synchronization
State Management
Threading
MVC vs. MVVM
7. iOS List ExampleiOS List Example
Instantiate UITableView and add it to a
view in the ViewDidLoad() method of the
ViewController.
public override void ViewDidLoad()
{
base.ViewDidLoad();
UITableView table = new UITableView(View.Bounds);
Add (table);
}
8. iOS List Example –iOS List Example –
SubclassSubclass UITableViewSourceUITableViewSource
public class ListSource : UITableViewSource
{
protected string[] listItems;
protected string CellId= "TableCell";
public ListSource (string[] items)
{ listItems = items; }
public override int RowsInSection (UITableView tableview, int section)
{ return listItems.Length; }
public override UITableViewCell GetCell (UITableView tableView,
MonoTouch.Foundation.NSIndexPath indexPath)
{ UITableViewCell cell = tableView.DequeueReusableCell (CellId);
if (cell == null) cell = new UITableViewCell (UITableViewCellStyle.Default, CellId);
cell.TextLabel.Text = listItems[indexPath.Row];
return cell;
}
}
9. iOS List ExampleiOS List Example
public override void ViewDidLoad()
{
base.ViewDidLoad();
UITableView table = new UITableView(View.Bounds);
var tableItems = new string[]
{"First","Second","Third","Fourth","Fifth"};
table.Source = new ListSource(tableItems);
Add (table);
}
14. Style and DesignStyle and Design
Form follows function
◦ What is your apps message?
To the Point
Consistency
" If it looks the same, it should act the same." - Android Style Guide
15. Style and DesignStyle and Design
Direct Manipulation
Feedback
Personal Service
Encouragement
21. Mobile Interaction ChartMobile Interaction Chart
Mobile Action PC
Tap I want this click
Submit Do it submit
Swipe Next! Move, or Delete next
Press Do Something Double-click
Pinch Zoom out Roller/slider
Spread Zoom in Roller/slider
Rotate um, Rotate. Roller/slider
http://www.lexiconsystemsinc.com/
32. The OptionsThe Options
MVVM
◦ MVVMcross
◦ MVVM Lite
◦ ReactiveUI
Roll Your Own MVC
◦ Separate out your controller logic from your
Activities, ViewControllers, and Pages
33. Mobile Design PatternsMobile Design Patterns
Dan Hermes
Mobile Consultant
Lexicon Systems
Website: www.lexiconsystemsinc.com
Email: dan@lexiconsystemsinc.com
Phone: 781-526-0738
Twitter: @lexiconsystems
Blog: www.itshopkeeping.com