KEMBAR78
Put a UI Developer in a Bank; See What Happens | PDF
Put a UI Developer in a Bank
See what happens
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/mobile-banking
Presented at QCon London
www.qconlondon.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Form follows function. For financial firms, function is so fortified and secured that no pretty
form could come close to it.
“Form follows function” Louis Seville.
Who’s from London?
http://blog.archpaper.com/wordpress/wp-content/uploads/2010/11/Louis-Sullivan-4.jpg
@hdragomir
me
I’ve built a lot of simple apps that rely heavily on user interaction.
And I’ve built lots of apps that hide complex data models in the background, presenting the
user with something that’s meaningful and easy to comprehend.
Using clever tricks, those kinds of apps empower users - make them feel like superheroes
When I use a typical banking app, I don’t feel like a super-hero. In fact, I feel quite dumb.
So I thought I could do something about the typical banking apps.
I thought the problems were easy to tackle like
browser support
“I heard you like security”
Why?
But that cake was a lie.
I have journeyed deep into the belly of the beast to learn about how the evil gets brewed,
baked, packed and packaged as an app, put in the user’s lap as happy managers clap.
On my first day, I got the access cards and got asked if I would be working from home.
Like a first date where you already have to watch a football game with her dad.
Because Developers
Banks are a safe haven for backend developers.
He who has rank gets his way.
More Developers!!
Trying to solve a design problem by throwing more developers at it is as effective as trying to
solve an algebra problem by chewing bubble gum.
A year ago I was saying this. Banks didn’t get this memo
[0..1) In-house Designers
banks rely on agencies to do episodic design work
spec changes don’t get communicated to designers and instead are shoehorned into the
current design.
So then the Bank says...
and that's the way it's always been. Until people REALLY started to complain
We Fix it!
Especially the mobile apps - which at first were just the desktop app served straight up to the
mobile clients.
Near-cool Mobile Webapps
... mostly made by Java Developers
Java and C# devs are really good at building Java and C# apps.
If you have to work in Eclipse or Visual Studio you start believing those are good interfaces.
Those interfaces are good for editors, but make for poor inter fæces for webapps.
Java + JavaScript = <3
Raise your hand if you believe this to be true
Banks are moving
As you will see later in this track.
http://www.cusai.ie/wp-content/uploads/2011/08/CAT_0676.jpg
Release Cycles
A Bank is No Startup
2weeks vs. 6months release cycles don’t always sync up
Use Before Re-use
“The other team are building a thing like what we will need, let’s wait to use that.”
Talk the talk, rewrite the spec!
I sat down with the Project Owner and verbally agreed on some changes; implemented them
only to see them reverted by another dev because QA said they did not match the spec.
Prey the other team will
deliver
Dependencies are a hell without having to add OTHER TEAMS to the list. Plus, their delays
also become your delays. Especially if they deliver something slightly different than what you
were expecting.
Not All Requirements are
Born Equal
Their list of supported browsers might not be the same as yours. They might be targeting
mobile webkit while you’re stuck with supporting IE7...
Polyfill is the transition!
Tooling
Firewalls!
they will make researching for answers a living hell. Google is not blocked, but stackoverflow
is because it is a “social network” ?!?!
Then there's the issue of installing software
You are not an admin!
Heck, you can’t even install a different browser to test on.
Browserstack?
While I love Browserstack and tools of the sort, you cannot possibly begin to use them from
behind a super restrictive firewall.
Especially the local tunnelling
You Get aVM
You get a VM that has IE6 on it, maybe Firefox, maybe Safari, that is managed by a sysadmin
that’s grumpier than a mountain lion in heats gone hungry. And you have to time share it
with all the other teams.
dynaTrace
You go to the knife store and ask for a knife.
http://www.equalreviewer.com/wp-content/uploads/2011/12/gerber_gator_machete.jpg
http://media2.shop57.org/628-1047-large/baionette-garand-m1.jpg
Nonono, a steak knife
http://www.colt22rimfire.com/uploads/images/m16rifle/left.jpg
We also have you the gun so you can kill your own cows to make steaks yourself.

"whining scripting guy who needs a macs to ‘debug.’ Why can't he debug like real men?"
Getting a Mac on your dev network. I still think that was my biggest ripple in that bank.
Having a mac helps with debugging webapps on iDevices
Made sense because we were focusing on iDevices...
It felt like the good old days; you didn't have device labs back then. You'd have to go to the
mall and prey the WiFi was working in the phones department that day.
When we got our first bug on iDevices, I had to discover the problem at home on my Mac.
And I couldn't charge the bank for the time because I said I would not be working from home
macnetizados.blogspot.com
Who DoYou Work For?
Your manager or your user?
50 Shades of Grey
Managers are happy with an app like this.
When I joined the bank, other teams were making fun of the project I was on by calling it 50
Shades of Grey
Managers want people who are good at building stuff like this
And who are very good at defending their code, decisions and poor performance with cool
PowerPoints
v1
And that’s how the first versions were built
theSuperFunctionNameThatTellsYouWhatItDoes() {
by bank-experienced developers who write well functioning code
theSuperFunctionNameThatTellsYouWhatItDoes() {
return window.a={asd:{b:”c”, d:’4’+2}.s(fda)}().asd
}
that is unmaintainable, in order to secure their senior position in the bank.
“When a junior can’t work with the code, it’s obviously because he’s a junior”
http://farm5.static.flickr.com/4016/4439159065_f81cb4474d_o.png
And they are very good at stuff like this
But don't let them decide the layout of your app
But they wanted to go mobile, and heard that HTML5 is cross platform. Like Java - and that
was the winning argument.
They also heard that Android users are poor.
So they made HTMiOSL5 apps that replicate iOS UI styles poorly
And ended up with apps that made sense to no-one, were confusing and felt odd and
sluggish
Senior guys in banks know how to tickle their bosses.
do your thing
do your thing
do your thing
do your thing
do your thing
This is how I changed the main copy style more or less without telling anyone
Fight for your right to CSS
Safest place you can make changes. Changes that improve the UI.
Changes most other devs will not understand, though.
main.css
Maindotcssitis
Policy, Policy, Policy
Do they do progressive enhancement or graceful degradation?
Do they guard for failure first or as a last resort?
That mentality needs to be in your code.
Safely do your thing
Start with the lowest IE
Once that is covered, you can use whatever you want to conditionally load stuff smarter
browsers can use. IE10 is included in smarter browsers.
Oh, and let me tell you how the devs in the bank finally got Chrome and Firefox...
Your desktop app is probably your main focus, but you’re going to have to provide the same
functionality to your mobile users. Especially iPad users.
Once iOS is done, you can start covering the corner cases that Android will come with. Your
bank will probably not pay you for this as they might still not see value in Android.
Common Sense
Feature Priority
You’d imagine you get a crazy amount of metrics in banks... nope
Find out what your users are doing and make it easy for them to do it.
Like transactions, transactions overview.
Do not simply remove the other features. Everything you can do on your desktop you should
be able to do on your tablet. Don’t dumb it down.
Hire In-house Designers
And keep them involved in the product’s lifecycle.
Let them adapt the design over time, as features and needs evolve
Platform Awareness
Don’t reinvent the wheel, or force skateboarders to use bikes. Harness what each platform -
iOS, Android, Windows Phone, Linux - offers and make it easy for your users to understand
what your controls do.
Proper Dev Environments
I hate visual studio, yet so many banks’ workflows are so closely tied to it that it’s almost
impossible to use something else. This needs to change.
❤$
Once banks start covering those 4 areas, not only will their banking apps get better, it will be
easier for them to find people willing to make their apps better.
Maybe, in a not so distant future, we will actually be able to smile and be pleased with the
universe while sending money to our loved ones from our super cool mobile banking apps.

Put a UI Developer in a Bank; See What Happens

  • 1.
    Put a UIDeveloper in a Bank See what happens
  • 2.
    InfoQ.com: News &Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /mobile-banking
  • 3.
    Presented at QConLondon www.qconlondon.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  • 4.
    Form follows function.For financial firms, function is so fortified and secured that no pretty form could come close to it. “Form follows function” Louis Seville. Who’s from London? http://blog.archpaper.com/wordpress/wp-content/uploads/2010/11/Louis-Sullivan-4.jpg
  • 5.
  • 6.
    I’ve built alot of simple apps that rely heavily on user interaction.
  • 7.
    And I’ve builtlots of apps that hide complex data models in the background, presenting the user with something that’s meaningful and easy to comprehend. Using clever tricks, those kinds of apps empower users - make them feel like superheroes
  • 8.
    When I usea typical banking app, I don’t feel like a super-hero. In fact, I feel quite dumb. So I thought I could do something about the typical banking apps. I thought the problems were easy to tackle like browser support “I heard you like security”
  • 9.
    Why? But that cakewas a lie. I have journeyed deep into the belly of the beast to learn about how the evil gets brewed, baked, packed and packaged as an app, put in the user’s lap as happy managers clap. On my first day, I got the access cards and got asked if I would be working from home. Like a first date where you already have to watch a football game with her dad.
  • 10.
    Because Developers Banks area safe haven for backend developers. He who has rank gets his way.
  • 11.
    More Developers!! Trying tosolve a design problem by throwing more developers at it is as effective as trying to solve an algebra problem by chewing bubble gum.
  • 12.
    A year agoI was saying this. Banks didn’t get this memo
  • 13.
    [0..1) In-house Designers banksrely on agencies to do episodic design work spec changes don’t get communicated to designers and instead are shoehorned into the current design.
  • 14.
    So then theBank says... and that's the way it's always been. Until people REALLY started to complain
  • 15.
    We Fix it! Especiallythe mobile apps - which at first were just the desktop app served straight up to the mobile clients.
  • 16.
  • 17.
    ... mostly madeby Java Developers Java and C# devs are really good at building Java and C# apps. If you have to work in Eclipse or Visual Studio you start believing those are good interfaces. Those interfaces are good for editors, but make for poor inter fæces for webapps.
  • 18.
    Java + JavaScript= <3 Raise your hand if you believe this to be true
  • 19.
    Banks are moving Asyou will see later in this track.
  • 20.
  • 21.
  • 22.
    A Bank isNo Startup 2weeks vs. 6months release cycles don’t always sync up
  • 23.
    Use Before Re-use “Theother team are building a thing like what we will need, let’s wait to use that.”
  • 24.
    Talk the talk,rewrite the spec! I sat down with the Project Owner and verbally agreed on some changes; implemented them only to see them reverted by another dev because QA said they did not match the spec.
  • 25.
    Prey the otherteam will deliver Dependencies are a hell without having to add OTHER TEAMS to the list. Plus, their delays also become your delays. Especially if they deliver something slightly different than what you were expecting.
  • 26.
    Not All Requirementsare Born Equal Their list of supported browsers might not be the same as yours. They might be targeting mobile webkit while you’re stuck with supporting IE7... Polyfill is the transition!
  • 27.
  • 28.
    Firewalls! they will makeresearching for answers a living hell. Google is not blocked, but stackoverflow is because it is a “social network” ?!?!
  • 29.
    Then there's theissue of installing software
  • 30.
    You are notan admin! Heck, you can’t even install a different browser to test on.
  • 31.
    Browserstack? While I loveBrowserstack and tools of the sort, you cannot possibly begin to use them from behind a super restrictive firewall. Especially the local tunnelling
  • 32.
    You Get aVM Youget a VM that has IE6 on it, maybe Firefox, maybe Safari, that is managed by a sysadmin that’s grumpier than a mountain lion in heats gone hungry. And you have to time share it with all the other teams.
  • 33.
  • 34.
    You go tothe knife store and ask for a knife. http://www.equalreviewer.com/wp-content/uploads/2011/12/gerber_gator_machete.jpg
  • 35.
  • 36.
    http://www.colt22rimfire.com/uploads/images/m16rifle/left.jpg We also haveyou the gun so you can kill your own cows to make steaks yourself.
  • 37.
     "whining scripting guywho needs a macs to ‘debug.’ Why can't he debug like real men?" Getting a Mac on your dev network. I still think that was my biggest ripple in that bank.
  • 38.
    Having a machelps with debugging webapps on iDevices Made sense because we were focusing on iDevices... It felt like the good old days; you didn't have device labs back then. You'd have to go to the mall and prey the WiFi was working in the phones department that day. When we got our first bug on iDevices, I had to discover the problem at home on my Mac. And I couldn't charge the bank for the time because I said I would not be working from home macnetizados.blogspot.com
  • 39.
    Who DoYou WorkFor? Your manager or your user?
  • 40.
    50 Shades ofGrey Managers are happy with an app like this. When I joined the bank, other teams were making fun of the project I was on by calling it 50 Shades of Grey
  • 41.
    Managers want peoplewho are good at building stuff like this
  • 42.
    And who arevery good at defending their code, decisions and poor performance with cool PowerPoints
  • 43.
    v1 And that’s howthe first versions were built
  • 44.
  • 45.
    theSuperFunctionNameThatTellsYouWhatItDoes() { return window.a={asd:{b:”c”,d:’4’+2}.s(fda)}().asd } that is unmaintainable, in order to secure their senior position in the bank. “When a junior can’t work with the code, it’s obviously because he’s a junior”
  • 46.
  • 47.
    But don't letthem decide the layout of your app
  • 48.
    But they wantedto go mobile, and heard that HTML5 is cross platform. Like Java - and that was the winning argument.
  • 49.
    They also heardthat Android users are poor.
  • 50.
    So they madeHTMiOSL5 apps that replicate iOS UI styles poorly
  • 51.
    And ended upwith apps that made sense to no-one, were confusing and felt odd and sluggish
  • 52.
    Senior guys inbanks know how to tickle their bosses.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
    do your thing Thisis how I changed the main copy style more or less without telling anyone
  • 58.
    Fight for yourright to CSS Safest place you can make changes. Changes that improve the UI. Changes most other devs will not understand, though.
  • 59.
  • 60.
    Policy, Policy, Policy Dothey do progressive enhancement or graceful degradation? Do they guard for failure first or as a last resort? That mentality needs to be in your code.
  • 61.
  • 62.
    Start with thelowest IE
  • 63.
    Once that iscovered, you can use whatever you want to conditionally load stuff smarter browsers can use. IE10 is included in smarter browsers. Oh, and let me tell you how the devs in the bank finally got Chrome and Firefox...
  • 64.
    Your desktop appis probably your main focus, but you’re going to have to provide the same functionality to your mobile users. Especially iPad users.
  • 65.
    Once iOS isdone, you can start covering the corner cases that Android will come with. Your bank will probably not pay you for this as they might still not see value in Android.
  • 66.
  • 67.
    Feature Priority You’d imagineyou get a crazy amount of metrics in banks... nope Find out what your users are doing and make it easy for them to do it. Like transactions, transactions overview. Do not simply remove the other features. Everything you can do on your desktop you should be able to do on your tablet. Don’t dumb it down.
  • 68.
    Hire In-house Designers Andkeep them involved in the product’s lifecycle. Let them adapt the design over time, as features and needs evolve
  • 69.
    Platform Awareness Don’t reinventthe wheel, or force skateboarders to use bikes. Harness what each platform - iOS, Android, Windows Phone, Linux - offers and make it easy for your users to understand what your controls do.
  • 70.
    Proper Dev Environments Ihate visual studio, yet so many banks’ workflows are so closely tied to it that it’s almost impossible to use something else. This needs to change.
  • 71.
    ❤$ Once banks startcovering those 4 areas, not only will their banking apps get better, it will be easier for them to find people willing to make their apps better. Maybe, in a not so distant future, we will actually be able to smile and be pleased with the universe while sending money to our loved ones from our super cool mobile banking apps.