SwimTimer App an exercise in UI-design Bay Area Mobile Meetup - - - PowerPoint PPT Presentation

swimtimer app
SMART_READER_LITE
LIVE PREVIEW

SwimTimer App an exercise in UI-design Bay Area Mobile Meetup - - - PowerPoint PPT Presentation

SwimTimer App an exercise in UI-design Bay Area Mobile Meetup - Hacker Dojo - Thu Jul 7, 2011 Frank Siebenlist FrankS@CreativeApptitude.com Monday, July 11, 2011 What? SwimTimer App Demo High-level App Implementation Features


slide-1
SLIDE 1

SwimTimer App

an exercise in UI-design

“Bay Area Mobile” Meetup - Hacker Dojo - Thu Jul 7, 2011 Frank Siebenlist FrankS@CreativeApptitude.com

Monday, July 11, 2011

slide-2
SLIDE 2

What?

  • SwimTimer App Demo
  • High-level App Implementation Features
  • Conclusions

Monday, July 11, 2011

slide-3
SLIDE 3

Get your stopwatch-apps out and get ready... set... go...

Monday, July 11, 2011

slide-4
SLIDE 4

SwimTimer Demo - Example Screens

Monday, July 11, 2011

slide-5
SLIDE 5

Standard iPhone Stopwatch App

Monday, July 11, 2011

slide-6
SLIDE 6

What’s wrong with “other” timer apps?

  • Buttons are too small
  • easy to press outside of button
  • More than one button
  • easy to press the wrong button
  • Mistakes are made
  • unforgiven - too bad...
  • No saving or sharing of results
  • reset is forget

Monday, July 11, 2011

slide-7
SLIDE 7

What’s right with “this” SwimTimer app?

  • One huge button
  • impossible to miss - pay attention to race
  • One single button for start/lap/finish
  • impossible to press the wrong button
  • Manage timed entries when you have the time
  • during/after race - no hurries... relax
  • Timed entries can be discarded
  • with a swipe - does the right thing
  • Tweet/email results
  • uses internet memory

Monday, July 11, 2011

slide-8
SLIDE 8

SwimTimer App

  • Much improved stopwatch-app
  • unique features among dozens of “similar” apps
  • Tested by real swim-coaches and timer-challenged parents
  • close to feature freeze
  • Started out as just an exercise in UI-widget use
  • became an exercise in UI-design
  • About 2 dozen beta-testers
  • maybe... probably... app will get published... soon

(which was never the original intention)

Monday, July 11, 2011

slide-9
SLIDE 9

SwimTimer App Implementation

  • Toolkit/Language: ANSCA’s Corona/Lua
  • Why?
  • Contemplating to use Corona for

real-world apps

  • Corona’s ui.lua was far too “primitive”
  • See if we could improve...
  • Not much left of original ui.lua...

Monday, July 11, 2011

slide-10
SLIDE 10

Implementation Features (1)

  • Description of ui-elements fully declarative
  • Objects and Handlers referred to by name
  • Geometry managers to dynamically align groups
  • f objects
  • Object display properties, groups, alignment,

handlers... all (optionally)described in json-files

  • Object cloning and persistence (almost) for free

Monday, July 11, 2011

slide-11
SLIDE 11

Implementation Features (2)

  • Button defined by image, rectangles, or any

instantiated display object or sprite

  • All event-driven - propagate thru standard

Corona event registration/handling mechanism

  • Listview enhanced with geometry manager
  • Swipe left/right for duplicate/delete
  • Easily configure button-state in xor/and-groups
  • Much easier to keep app modular and MVC-like

Monday, July 11, 2011

slide-12
SLIDE 12

Corona UI Futures (?)

  • ANSCA working on new extended widget support
  • widget.lua (beta - work in progress)
  • still “primitive” in many ways...

as far as visible (source unavailable so far)

  • Waiting to see if my “enhancements” would be easily portable to

new library

  • if not too much work...

will port relevant parts as open-source

  • Corona is a great game development toolkit...
  • ...but basic ui-widget support is lagging behind substantially

compared to other SDKs (LiveCode, IOS, Appcelerator, ...)

  • This SwimTimer app shows what you “could” do with Corona for a

UI... not necessarily what you “can” do out-of-the-box...

Monday, July 11, 2011

slide-13
SLIDE 13

Post-Mortum...

  • The day after this presentation, ANSCA communicated that Corona’s widget/coronaui-

library will NOT be open-source after all...

  • change of previous promises... too bad... guess they have their reasons...
  • Consequences
  • Impossible to port my UI-extension to Corona’s widget-library
  • Makes no sense to publish my UI-extension as open-source
  • Corona’s widget-library: non-declarative, no json-config, no named-objects/handlers, no

geometry-groups&mgr, no swipes, no object persistence, no MVC modularity, ... so 1980’s ;-) ... ANSCA’s loss ...Corona’s community’s loss

  • Corona good for physics-games as a box2d-shim... but rather primitive for business apps
  • In process to re-render SwimTimer App on LiveCode (RunRev.com)
  • ...as well as to use LiveCode for our “real” business apps (personalized medicine)
  • No need to write any UI-extensions, true IDE with GUI-designer, HyperCard on

steroids, real debugger, plus easy call-outs to native IOS: LiveCode is a very impressive environment!!! (...and it’s difficult to impress me anymore...)

  • Maybe next meeting I should give a presentation about my LiveCode experience (...and

compare it to Corona...)

Monday, July 11, 2011

slide-14
SLIDE 14

Thanks!

??? Questions/Comments/Suggestions ????

Ability to create innovative apps for on-the-go and on-the-couch.

Monday, July 11, 2011