-
Notifications
You must be signed in to change notification settings - Fork 11
/
data.js
1696 lines (1696 loc) · 101 KB
/
data.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// data.js
export class Talk {
validate(props = []) {
props.forEach(item => {
if (!Object.prototype.hasOwnProperty.call(this, item)) {
throw `Talk is missing property ${item}`;
}
});
}
}
export class Workshop extends Talk {
constructor(props) {
super();
Object.assign(this, props);
this.validate(['title', 'speakerSlug', 'description']);
}
}
export class Session extends Talk {
constructor(props) {
super();
Object.assign(this, props);
this.validate(['time', 'title', 'speakerSlug', 'description']);
}
}
export default {
speakers: [
{
avatar: '/img/bio/audrey.jpg',
twitter: 'aud_rey_so',
slug: 'audrey',
name: 'Audrey So',
title: 'Software developer on the PhoneGap team',
bio:
'Audrey is a software developer on the PhoneGap team at Adobe and currently works on Cordova tooling. In her spare time, she loves reading, learning, listening to podcasts, binge watching crime TV shows, and spending time with her family.',
conferences: ['us2017']
},
{
avatar: '/img/bio/johnwargo.jpg',
twitter: 'johnwargo',
slug: 'johnwargo',
name: 'John Wargo',
title: 'Principal Program Manager for Mobile Center at Microsoft',
bio:
'John is a professional software developer, writer, presenter, father, husband, and Geek. For the last 12 years or so, he’s focused on enterprise mobility and building mobile apps. He’s an author of 6 books on mobile development, including 4 on PhoneGap/Apache Cordova, and was a contributor to the Apache Cordova project. He also loves tinkering with IoT, building and writing about projects for Arduino, Particle Photon, Raspberry Pi, and more. He’s currently a Principal Program Manager for Mobile Center at Microsoft',
conferences: ['us2017']
},
{
avatar: '/img/bio/greg_bulmash.png',
twitter: 'YiddishNinja',
slug: 'bulmash',
name: 'Greg Bulmash',
title: 'Tech Evangelist at Amazon',
bio:
"Greg Bulmash started in tech by publishing jokes and humorous essays to his own web site, eventually rising to become Senior Editor of the Internet Movie Database (IMDb.com). In 2005, he dusted off his BASIC programming skills from the 80s, taught himself some of the programming languages that power the web, and pivoted into a career writing code and communicating with developer audiences. He currently works as a Technical Evangelist for Login with Amazon, and in his spare time he runs Seattle CoderDojo, a volunteer group where local tech professionals help kids learn computer programming. He's spoken at OSCON, CascadiaJS, DevNexus, Developer Week, CodeMotion Amsterdam, and other meetups and conferences about web development, programming, and teaching kids how to code.",
conferences: ['us2017']
},
{
avatar: '/img/bio/nicole_alexander.jpg',
twitter: 'Nikimari',
slug: 'nicole',
name: 'Nicole Alexander',
title: 'Professor of Marketing at NY University',
bio:
"Nicole M. Alexander is a Professor of Marketing at New York University and most recently lead Nielsen's Innovation Practice across Greater China helping brands on their end-to-end innovation processes. She teaches and talks globally on AI, data privacy, and the legal and cultural implications of technology. When not at work Nicole is an avid globe-trotter and sports enthusiast.",
conferences: ['us2017']
},
{
avatar: '/img/bio/gregavola.jpg',
twitter: 'gregavola',
slug: 'gregavola',
name: 'Greg Avola',
title: 'CTO and Co-Founder for Untappd',
bio:
"Living in the craft beer haven of New York City, Greg is the CTO and Co-Founder for Untappd. After experiencing Rare Vos for the first time, he instantly fell in love with craft beer. While some people enjoy reading books or watching movies, Greg's passion is to code. With that being said, after Tim and Greg came up with the idea of Untappd, Greg had a working prototype the next day. Being able to combine his passion for development and craft beer allowed Untappd to be born. In January of 2016, Untappd merged with Next Glass which allowed Greg to work on Untappd in a full-time role as CTO of both companies. Prior to Untappd, Greg was a Senior Software Engineer at ABC News in New York City responsible for mobile and web products.",
conferences: ['us2017']
},
{
avatar: '/img/bio/shazron.jpg',
twitter: 'shazron',
slug: 'shazron',
name: 'Shazron Abdullah',
title: 'Senior Computer Scientist, Adobe',
bio:
'Based in San Francisco, by way of Vancouver, Canada and Singapore, Shaz has nearly two decades of software development experience getting with the nitty gritty of Windows, OS X and iOS and probably helped code something you know. Currently he helps maintain the iOS platform of Apache Cordova and Adobe PhoneGap and has been part of the project for quite some time.',
conferences: ['us2016', 'eu2016', 'eu2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/shazron.png'
}
},
{
avatar: '/img/bio/ericalli.jpg',
twitter: 'two2twelve',
slug: 'ericalli',
name: 'Eric Alli',
title: 'Web Designer, Developer, and Musician',
bio:
'Eric is a San Francico based designer & engineer who enjoys building useful products for niche spaces and sharing his affinity for music and art.',
conferences: ['us2016']
},
{
avatar: '/img/bio/alexblom.jpg',
twitter: 'AlexBlom',
slug: 'alexblom',
name: 'Alex Blom',
title: 'Partner, Isle of Code',
bio:
'Alex Blom is the lead maintainer of ember-cordova. He is also Managing Partner at Isle of Code, an Ember/Hybrid focused shop in Toronto.',
conferences: ['us2016', 'eu2017', 'us2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/alexblom.png'
}
},
{
avatar: '/img/bio/garthdb.jpg',
twitter: 'GarthDB',
slug: 'GarthDB',
name: 'Garth Braithwaite',
title: 'FED, Adobe',
bio: 'Garth is a person.',
conferences: ['us2016']
},
{
avatar: '/img/bio/michaelbrooks.jpg',
twitter: 'mwbrooks',
slug: 'michaelbrooks',
name: 'Michael Brooks',
title: 'Senior Software Barista, Adobe',
bio:
'Orphaned as a child, Michael Brooks was raised by his elderly Uncle Ben and Aunt May. Academically gifted, he displayed an uncanny affinity for Computer Science with speciality in signal processing and computer vision. While attending a developer meetup at the age of 26, Michael was bitten on the hand by a radioactive Nitobi employee, empowering him with the company’s proportional open source belief, community, and ability to ship products. Now disguised as mwbrooks and teamed with Adobe, Michael slings between vim, GitHub, Twitter, and IRC to protect the innocent, confront evil, and make PhoneGap & Apache Cordova a safer framework for the future of application development.',
conferences: ['us2016', 'us2017']
},
{
avatar: '/img/bio/raymondcamden.jpg',
twitter: 'raymondcamden',
slug: 'raymondcamden',
name: 'Raymond Camden',
title: 'Developer Advocate, IBM',
bio:
"Raymon is a 42 year old married father of six living in beautiful Lafayette, Louisiana. His primary technical focus is on the MobileFirst platform, web standards and client-side development. Most of his time is spent writing, researching, or presenting. When he's not behind a computer, he's an avid XBox/PS4 player, he enjoys movies, and he reads like crazy.",
conferences: ['us2016']
},
{
avatar: '/img/bio/cianclarke.jpg',
twitter: 'cianclarke',
slug: 'cianclarke',
name: 'Cian Clarke',
title: 'Software Engineer, Red Hat Mobile',
bio:
'Cian is a Software Engineer on the Red Hat Mobile Team. An early technologist, he founded his own web consultancy business at 16. Cian was a member of the original FeedHenry mobile team, since acquired by Red Hat. At Red Hat, Cian builds functionality for the Mobile Application Platform, and also helps with solutions architecture and evangelism. In addition to his day job, he also regularly blogs about the intersection of all things mobile, microservices and Node.js. Cian is originally from Waterford, Ireland, and currently resides in Boston, Massachusetts.',
conferences: ['us2016']
},
{
avatar: '/img/bio/doncoleman.jpg',
twitter: 'doncoleman',
slug: 'doncoleman',
name: 'Don Coleman',
title: 'Director, Chariot Solutions',
bio:
'Don enjoys hacking with phones, Arduino and other hardware. He has written PhoneGap plugins for Bluetooth and NFC. Don is the co-author of "Make:Bluetooth" and "Beginning NFC".',
conferences: ['us2016', 'us2017']
},
{
avatar: '/img/bio/davidfrahm.jpg',
twitter: 'davidfrahm',
slug: 'davidfrahm',
name: 'David Frahm',
title: 'Product Creator, Sworkit',
bio:
'Mobile and frontend developer focused on Ionic SDK and AngularJS apps, with a strong background in UX, Agile, eXtreme Programming, and startup growth. Living in the Midwest and contributing to the world.',
conferences: ['us2016']
},
{
avatar: '/img/bio/chrisgosselin.jpg',
slug: 'chrisgosselin',
name: 'Chris Gosselin',
title: 'Full-stack developer, Rangle.io',
bio:
"Chris is a full-stack developer at Rangle.io, a Toronto-based development firm, where he works on creating high-end enterprise mobile apps. Chris' interest in coding started as a teen when he created a variant of a popular board game for his programming class. Since then he has contributed to various open source projects, growth-hacked a startup, and worked extensively on both server-side and client-side projects. When he’s not programming he enjoys rock climbing.",
conferences: ['us2016']
},
{
avatar: '/img/bio/deanhaddock.jpg',
twitter: 'systemconscious',
slug: 'deanhaddock',
name: 'Dean Haddock',
title: 'Managing Director, StoryCorps',
bio:
"Dean Haddock is the Managing Director of Digital & Technical Innovation for StoryCorps, the national oral history project--one of the largest collections of human voices ever assembled--and popular NPR/PBS broadcast. He and his team design and build apps, websites and other platforms to further StoryCorps' mission of recording and preserving the stories of everyday people across the US and around the world. Most recently Dean led StoryCorps' 2015 $1m TED Prize initiative to build a mobile app and platform that anyone can use to record and archive oral history interviews permanently at the Library of Congress. He is a Nieman Foundation Visiting Fellow, a Knight Foundation Prototype Fund awardee, a two-time Google Fellow to the Personal Democracy Forum and a civic hacktivist.",
conferences: ['us2016', 'eu2016']
},
{
avatar: '/img/bio/ryanhanna.jpg',
twitter: 'heryandotus',
slug: 'ryanhanna',
name: 'Ryan Hanna',
title: 'VP of Engineering, Sworkit',
bio:
'Ryan began learning to code online in 2012 and grew his side project into a top Health and Fitness app with over 20 million users. He is also a co-organizer of codebar.io in Brighton, England.',
conferences: ['us2016', 'eu2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/ryanhanna.png'
}
},
{
avatar: '/img/bio/mikehartington.jpg',
twitter: 'mhartington',
slug: 'mikehartington',
name: 'Mike Hartington',
title: 'Front End Developer, Ionic',
bio:
'Mike is a front-end developer who has used Ionic since its alpha. As Ionic’s developer advocate, Mike manages the Ionic Forum, serves as a resource to developers, and writes technical documentation. When he’s not working, you can find him relaxing with a beer and guitar.',
conferences: ['us2016', 'us2017']
},
{
avatar: '/img/bio/shawnjansepar.jpg',
twitter: 'shawnjan8',
slug: 'shawnjansepar',
name: 'Shawn Jansepar',
title: 'Engineering Manager, Mobify',
bio:
"Shawn loves to hack both on the front-end and back-end, with a heavy focus on the user experience. When he isn't hacking, you likely find him playing hockey/video games, eating, or travelling. Shawn has a BSc in Computer Science from Simon Fraser University in Vancouver.",
conferences: ['us2016']
},
{
avatar: '/img/bio/aniskadri.jpg',
twitter: 'aniskadri',
slug: 'aniskadri',
name: 'Anis Kadri',
title: 'Software Engineer, Adobe',
bio:
'Anis is a Software Engineer at Adobe. He works on PhoneGap and Cordova full-time and has been contributing to the project since its early inception. Lately, he’s been interested in trying to introduce PhoneGap solutions to the enterprise world.',
conferences: ['us2016', 'eu2016', 'us2017']
},
{
avatar: '/img/bio/timkim.jpg',
twitter: 'timkim',
slug: 'timkim',
name: 'Tim Kim',
title: 'Expert Keyboard Masher, Adobe',
bio:
"During the day, Tim works on the PhoneGap project mostly focusing on the PhoneGap Developer App. By night, Tim dons his special terry cloth bath robe and makes cool 3D art usually about something from the 80's. In between, he's probably eating a sandwich.",
conferences: ['us2016', 'us2017']
},
{
avatar: '/img/bio/reneelance.jpg',
twitter: 'geekystardust',
slug: 'reneelance',
name: 'Renée Lance',
title: 'Solutions Consultant, Adobe',
bio:
'Renée is a seasoned Web and UX designer and now an Adobe Solutions Consultant evangelizes Creative Cloud, Document Cloud and digital innovation. With more than 10 years experience with digital design, Renée is a passionate professional who is dedicated in developing solutions for business and creative professionals ensuring they remain competitive and deliver engaging customer experiences. Her creative-thinking skills and technical experience assist customers deliver innovative outcomes for creative and non-traditional creative industries.',
conferences: ['us2016']
},
{
avatar: '/img/bio/brucelefebvre.jpg',
twitter: 'brucelefebvre',
slug: 'brucelefebvre',
name: 'Bruce Lefebvre',
title: 'Computer Scientist, Adobe',
bio:
'Bruce is a programmer at Adobe focused on bringing Experience Manager and the open web together. As a member of the mobile R&D team, he’s most recently been focused on the AEM + PhoneGap integration. When not at his desk he can usually be found outside on his bike..',
conferences: ['us2016', 'eu2016']
},
{
avatar: '/img/bio/simonmacdonald.jpg',
twitter: 'macdonst',
slug: 'simonmacdonald',
name: 'Simon MacDonald',
title: 'Senior Software Engineer, Adobe',
bio:
'Simon has over fifteen years of development experience and has worked on a variety of projects including object oriented databases, police communication systems, speech recognition and unified messaging. His current focus is contributing to the open source PhoneGap project to enable developers to create cross platform mobile applications using Web technologies. Simon’s been building web applications since the days they were written using shell scripts and he still has nightmares about those dark days.',
conferences: ['us2016', 'eu2016', 'eu2017', 'us2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/simonmacdonald.png'
}
},
{
avatar: '/img/bio/purplecabbage.jpg',
twitter: 'purplecabbage',
slug: 'purplecabbage',
name: 'Jesse MacFadyen',
title: 'Sr. Computer Scientist, Adobe',
bio:
'Jesse is a primordial PhoneGap contributor that has been around long enough to see many phonegap-killers come and go. He has written plugins for everything from the device accelerometer to bluetooth connected wearables like the ms-band, across windows, windows phone, android and ios. A self-proclaimed prolific procrastinator, Jesse often loses interest before he has a chance to fi',
conferences: ['us2016', 'eu2016', 'eu2017', 'us2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/purplecabbage.png'
}
},
{
avatar: '/img/bio/alexismenard.jpg',
twitter: 'darktears',
slug: 'alexismenard',
name: 'Alexis Menard',
title: 'Software Engineer, Intel',
bio:
'Alexis Menard is a software engineer working at Intel in Oregon as part of the Open Source Technology Center. Here his main focus is on the ever evolving Web Platform, which includes work on W3C standards as well as Blink/Chromium. In the latter projects, he serves as both developer and code reviewer. Alexis is also working on Crosswalk, an HTML5 runtime/webview for Android and Windows where he does a bit of everything. Prior to Intel, Alexis worked on QtWebKit and WebKit itself at the Brazilian Nokia research center known as INdT. Before moving to Brazil, Alexis worked out of Norway, mostly on the Qt framework as a part of Nokia (former Trolltech). He is also a former KDE contributor where he contributed mostly to Plasma, the desktop shell of KDE.',
conferences: ['us2016']
},
{
avatar: '/img/bio/lokimeyburg.jpg',
twitter: 'lokimeyburg',
slug: 'lokimeyburg',
name: 'Loki Meyburg',
title: 'Product Guy, Mobify',
bio:
'Loki is also the creator of Stacker, an open source project to kickstart the development of iOS apps. Previously he was the first employee at Medeo, a medical startup, that was acquired in 2014. Graduated with Honours in Business and Computer Science from the University of British Columbia.',
conferences: ['us2016']
},
{
avatar: '/img/bio/martinposchenrieder.jpg',
twitter: 'mposchenrieder',
slug: 'martinposchenrieder',
name: 'Martin Poschenrieder',
title: 'Founder, testmunk',
bio:
'Martin has been working in the mobile industry for most of the past decade. He began his career as an intern for one of the few German handset manufacturers, years before Android and iPhone were launched. After involvement with several app projects, he soon realized that one of the biggest pain-points in development was mobile app testing. In order to ease this pain, he started Testmunk. Testmunk is based in Silicon Valley, and provides automated app testing over the cloud.',
conferences: ['us2016']
},
{
avatar: '/img/bio/brianrinaldi.jpg',
twitter: 'remotesynth',
slug: 'brianrinaldi',
name: 'Brian Rinaldi',
title: 'Developer Content Manager, Telerik',
bio:
'Brian is the Developer Content Manager at Telerik where he helps the Developer Relations team create top notch content for the developer community on the Telerik Developer Network. He is also co-editor of Mobile Web Weekly.',
conferences: ['us2016']
},
{
avatar: '/img/bio/ryanjsalva.jpg',
twitter: 'ryanjsalva',
slug: 'ryanjsalva',
name: 'Ryan J Salva',
title: 'JavaScript Developer',
bio:
'JavaScript developer, Apache Cordova committer, Visual Studio program manager, CrossFitter, sci-fi connoisseur and whiskey enthusiast. With over 15 years of experience in software development, it’s hard to find a corner of the web where he hasn’t worked, but the important thing to know is this: Ryan is a passionate storyteller with deep insight into market forces, technology, user experience and design. Today, he owns tooling for cross-platform mobile app development at Microsoft. Tomorrow, the world.',
conferences: ['us2016', 'eu2016']
},
{
avatar: '/img/bio/hollyschinsky.jpg',
twitter: 'devgirlFL',
slug: 'hollyschinsky',
name: 'Holly Schinsky',
title: 'Senior Software Engineer, Adobe',
bio:
'Holly works on the PhoneGap team at Adobe with a heavy focus on Developer Advocacy and Education via her blogging, sample apps and workshops. In her free time she’s usually found running, driving a carpool or hanging out with her family.',
conferences: ['us2016', 'eu2016', 'eu2017', 'us2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/hollyschinsky.png'
}
},
{
avatar: '/img/bio/bobspencer.jpg',
slug: 'bobspencer',
name: 'Bob Spencer',
title: 'Software Architect, Intel',
bio:
"Bob Spencer is a software architect in Intel's Open Source Technology Center where for the past decade his work has been centered on open source developer tools and SDKs. He is the community manager on the Crosswalk Project team. In his free time he will be biking, backpacking, or hanging with his family.",
conferences: ['us2016']
},
{
avatar: '/img/bio/masahirotanaka.jpg',
slug: 'masahirotanaka',
name: 'Masahiro Tanaka',
title: 'CEO, Monaca Corporation',
bio:
"Masa is the CEO of Monaca Corporation, the company behind Japan's #1 hybrid app development tools, Monaca and Onsen UI. He started his company as a pioneer in web and mobile communities in Japan, writing numerous PHP books and initiating Cordova meetups. Masa still maintains a leadership role within mobile and IoT communities in Japan and overseas as a hybrid app development vanguard and framework trendsetter.",
conferences: ['us2016', 'eu2016', 'eu2017', 'us2017']
},
{
avatar: '/img/bio/jedwatson.jpg',
slug: 'jedwatson',
twitter: 'jedwatson',
name: 'Jed Watson',
title: 'Founder, Thinkmill',
bio:
'Jed is a founder of Thinkmill, a web and mobile app development agency in Sydney, and has been writing JavaScript since IE6 was new and exciting. A prolific open source contributor, Jed is the driving force behind KeystoneJS - the node.js content management platform - and several major React.js libraries including Elemental UI and TouchstoneJS, which is a UI Framework for hybrid mobile apps.',
conferences: ['us2016']
},
{
avatar: '/img/bio/nickvanweerdenburg.jpg',
slug: 'nickvanweerdenburg',
twitter: 'n1cholasv',
name: 'Nick Van Weerdenburg',
title: 'Founder, Rangle.io',
bio:
'Nick is Rangle.io’s founder, first developer, and now leads the company’s business development and strategy activities. Nick first did server-side JavaScript in 1997 and has 15 years of experience in web software in diverse roles and industries. He is a firm believer in the thin-server, full-JavaScript stack and an active speaker, delivering about a dozen talks each year.',
conferences: ['us2016']
},
{
avatar: '/img/bio/tommywilliams-1.jpg',
twitter: 'therealdevgeeks',
slug: 'tommywilliams',
name: 'Tommy Williams',
title: 'Sr. Computer Scientist, Adobe',
bio:
'Tommy is a guitarist, aging punk, and app developer finally working on the PhoneGap team at Adobe. He is focussed on helping developers make beautiful, performant, and secure mobile apps with the web technologies that he loves. He is also a strong advocate for privacy particularly where it intersects app development. Tommy enjoys talking in the third person, vegan food, beer, attempts at humour, and trying to sound humble through self-deprecation.',
conferences: ['us2016', 'eu2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/tommywilliams.png'
}
},
{
avatar: '/img/bio/tjvantoll.jpg',
twitter: 'tjvantoll',
slug: 'tjvantoll',
name: 'TJ VanToll',
title: 'Senior Developer Advocate, Telerik',
bio:
'TJ VanToll is a front-end developer, author, and a senior developer advocate for Telerik. TJ has over a decade of web development experience, including a few years working on the jQuery team. Nowadays, he spends his time helping web developers build mobile apps through projects like Cordova and NativeScript. TJ is @tjvantoll on Twitter and tjvantoll on GitHub.',
conferences: ['us2016']
},
{
avatar: '/img/bio/saniyusuf.jpg',
twitter: 'saniyusuf',
slug: 'saniyusuf',
name: 'Sani Yusuf',
title: 'Founder, HAIBRID',
bio:
'Sani runs a startup called HAIBRID that uses cross-platform mobile development techniques to create innovative mobile solutions. Sani also co-manages the Ionic UK community in UK and has had stints with companies like Microsoft, Huddlebuy & Anritsu in the past.',
conferences: ['eu2016', 'eu2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/saniyusuf.png'
}
},
{
avatar: '/img/bio/remysharp.jpg',
twitter: 'rem',
slug: 'remysharp',
name: 'Remy Sharp',
title: 'Founder, ffconf',
bio:
"Remy is the founder and curator of ffconf, the UK based JavaScript conference. He also ran jQuery for Designers, co-authored Introducing HTML5 (adding all the JavaScripty bits) and likes to grumble on Twitter. Whilst he's not writing articles or running and speaking at conferences, he runs his own development and training company in Brighton called Left Logic. And he built these too: Confwall, jsbin.com, html5demos.com, responsivepx.com, nodemon, mit-license.org, snapbird.org, 5 minute fork and jsconsole.com!",
conferences: ['eu2016']
},
{
avatar: '/img/bio/kerrishotts.jpg',
twitter: 'kerrishotts',
slug: 'kerrishotts',
name: 'Kerri Shotts',
title: 'Developer, Author, Photographer',
bio:
'Kerri Shotts is a Developer Advocate at Adobe. As an IT Consultant, she used PhoneGap/Cordova to develop enterprise apps for her clients. She is the author of five books about PhoneGap and serves as a moderator on the Adobe PhoneGap forums and the PhoneGap Google Group. She started programming on a lowly Commodore 64, and has a fondness for retro technology.',
conferences: ['eu2016', 'eu2017', 'us2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/kerrishotts.png'
}
},
{
avatar: '/img/bio/nielsleenheer.jpg',
twitter: 'rakaz',
slug: 'nielsleenheer',
name: 'Niels Leenheer',
title: 'Founder, Salonhub',
bio:
'Niels is a founder of Salonhub and creates web applications for a living. He has been using PhoneGap professionally for the last five years. In his free time he runs one of the largest Open Device Labs in the world, created the HTML5test.com website and has recently given a number of talks about Smart TV and game console browsers. He loves to research obscure browsers and submit bug reports.',
conferences: ['eu2016']
},
{
avatar: '/img/bio/wildabeast.jpg',
slug: 'wildabeast',
name: 'Ryan Willoughby',
title: 'Software Engineer, Adobe',
bio:
'Ryan works on PhoneGap Build and Cordova. He recently watched The Mist and threw a can of Old Milwaukee at the television in frustration. Not the bourbon sour though.',
conferences: ['eu2016']
},
{
avatar: '/img/bio/stevesgill-1.jpg',
twitter: 'stevesgill',
slug: 'stevesgill',
name: 'Steve Gill',
title: 'Software Engineer, Adobe',
bio:
'Originally from Vancouver but currently living in San Francisco, Steve has been part of the PhoneGap team since 2009! He currently works on the tooling for Cordova and helps with releases. Outside of hacking, he loves hockey, biking, yoga and traveling!',
conferences: ['eu2016', 'eu2017']
},
{
avatar: '/img/bio/martijnwalraven.jpg',
twitter: 'martijnwalraven',
slug: 'martijnwalraven',
name: 'Martijn Walraven',
title: 'Core Developer, Meteor Development Group',
bio:
'Martin works on mobile support for the Meteor JavaScript app platform, including the Cordova integration. He is also the creator of Meteor iOS, which integrates native iOS apps with Meteor.',
conferences: ['eu2016']
},
{
avatar: '/img/bio/brettrudd.jpg',
twitter: 'brettrudd',
slug: 'brettrudd',
name: 'Brett Rudd',
title: 'Development Lead, Adobe',
bio:
'Brett is a cordova committer and also the development team lead for Adobe’s PhoneGap Build. PhoneGap Build allows you to create mobile apps using HTML, CSS, and JavaScript - and then easily compile them for multiple platforms in the cloud. It has built over 2 million apps and assists developers during prototyping, development and all the way through signing and packaging for App Store submittal. Brett has no hobbies.',
conferences: ['eu2016']
},
{
avatar: '/img/bio/denisradin.jpg',
twitter: 'PixelsCommander',
slug: 'denisradin',
name: 'Denis Radin',
title: 'Front-end Engineer, Liberty Global',
bio:
'Front-end engineer working on ‘embedded JavaScript’ in Liberty Global (Ziggo, UPC). Passionate about UI experiments and performance optimization. Launching JavaScript into space and stratosphere in spare time and believe this is a sunrise of interactive revolution. Blogging at PixelsCommander.com',
conferences: ['eu2016']
},
{
avatar: '/img/bio/eddyverbruggen.jpg',
twitter: 'eddyverbruggen',
slug: 'eddyverbruggen',
name: 'Eddy Verbruggen',
title: 'Cordova plugins hacker, Telerik',
bio:
'Eddy is the author of many PhoneGap plugins. Over the past few years, he created popular plugins such as SocialSharing, Calendar, and Toast. What started as an open source hobby resulted in him teaming up with Telerik with the goal to increase the quality of the Cordova plugin ecosystem. These days, Eddy is the maintainer of the Telerik Verified Plugins Marketplace at plugins.telerik.com',
conferences: ['eu2016']
},
{
avatar: '/img/bio/andreasschacherbauer.jpg',
slug: 'andreasschacherbauer',
name: 'Andreas Schacherbauer',
title: 'Head of SDK, Wikitude',
bio:
"Andreas has been developing Wikitude's augmented reality SDK from the ground up. He leads the SDK engineering group within Wikitude and is actively developing the first PhoneGap Plugin for augmented reality for more than 4 years.",
conferences: ['eu2016']
},
{
avatar: '/img/bio/raphaelkubodacosta.jpg',
slug: 'raphaelkubodacosta',
name: 'Raphael Kubo Da Costa',
title: 'Software Engineer, Intel',
bio:
"Raphael is a software engineer working on web engines and web technologies at Intel's Open Source Technology Center. He has been working on Crosswalk since its creation, and is responsible for its infrastructure, release engineering and everything required for making it work great for everyone, including Cordova users. Raphael currently lives in Amsterdam, a city he is still getting to know, and likes to scratch his itches by contributing to other open source projects in his free time, from FreeBSD to KDE.",
conferences: ['eu2016']
},
{
avatar: '/img/bio/timlancina.jpg',
twitter: 'timlancina',
slug: 'timlancina',
name: 'Tim Lancina',
title: 'Developer, Ionic',
bio:
'Tim is a developer at Ionic working on tooling. When not trying to get computers to do what he wants, he is usually playing soccer, traveling, or enjoying a good book.',
conferences: ['eu2016']
},
{
avatar: '/img/bio/evanschultz.jpg',
twitter: 'e_p82',
slug: 'evanschultz',
name: 'Evan Schultz',
title: 'JavaScript Architect, Rangle.io',
bio:
'Evan is a passionate software developer with nearly 10 years experience. As a seasoned JavaScript architect he adapts to new technologies, and has contributed to many team-based projects, whilst mentoring other developers. Evan leads and contributes to the Rangle.io’s guidelines, code reviews and training material. He educates peers and clients and writes about development best practices for Rangle.io’s blog, http://blog.rangle.io/',
conferences: ['eu2016']
},
{
avatar: '/img/bio/bertrandkarerangabo.jpg',
twitter: 'codenarian',
slug: 'bertrandkarerangabo',
name: 'Bertrand Karerangabo',
title: 'Developer, Rangle.io',
bio:
"Bertrand's a full-stack web developer with extensive experience building complex applications in ReactJS on web & native platforms.",
conferences: ['eu2016']
},
{
avatar: '/img/bio/davidbarth.jpg',
slug: 'davidbarth',
name: 'David Barth',
title: 'Engineering Manager, Canonical',
bio:
'David heads up the Webapps Team at Canonical, the makers of Ubuntu. David and his team’s involvement in Ubuntu app development is centered on the integration of web technologies into the core of the Ubuntu platform. This includes the development of the Oxide project, a modern webview optimized to run on Ubuntu, the Ubuntu Cordova port, and more generally JS frameworks related to developing apps and "scopes" on Ubuntu.',
conferences: ['eu2016']
},
{
avatar: '/img/bio/joebowser.jpg',
twitter: 'infil00p',
slug: 'joebowser',
name: 'Joe Bowser',
title: 'Senior Computer Scientist, Adobe Systems Inc.',
bio:
'Joe is one of the co-creators of PhoneGap, and originally wrote the Android implementation. He is the longest contributing member of the Apache Cordova project and the Project Management Committee (PMC). When he is not working on Cordova, he is working on various other projects, which often include open source hardware like the Arduino, 360 video, as well as building, flying and crashing quadcopters.',
conferences: ['eu2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/joebowser.png'
}
},
{
avatar: '/img/bio/edouardlafargue.jpg',
slug: 'edouardlafargue',
name: 'Edouard Lafargue',
title: 'Solution Architect, Adobe',
bio:
"Ed has been with Adobe for 6 years working first in Europe and now in the US as a Solution Architect for the Adobe Marketing Cloud. As a life long technology enthusiast, Ed likes to apply his skills to bring creative solutions to technical challenges, whether he does this for Adobe's customers, or as part of his volunteer engagement with non-profits like Safecast.org",
conferences: ['eu2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/edouardlafargue.png'
}
},
{
avatar: '/img/bio/timoernst.jpg',
twitter: 'timo_ernst',
slug: 'timoernst',
name: 'Timo Ernst',
title: 'Software Engineer, Freelance',
bio:
'Timo is a Freelance Software Engineer, Youtuber and Blogger with focus on UI design, working with latest frontend technologies. Living the dream of creating mind-blowing mobile apps using the power of HTML5, CSS3 and JavaScript',
conferences: ['eu2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/timoernst.png'
}
},
{
avatar: '/img/bio/filmaj.jpg',
twitter: 'filmaj',
slug: 'filmaj',
name: 'Fil Maj',
title: 'Master Exploder, Adobe',
bio:
'Fil works for Adobe on the PhoneGap team, and was part of Nitobi, the company responsible for the birth of PhoneGap. Fil took a slight career detour and worked for Sauce Labs, where he picked up a focus on reliability, testing and enabling sustainable software engineering. Fil is now back with Adobe and the PhoneGap team, where he strives to apply these learnings.',
conferences: ['eu2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/filmaj.png'
}
},
{
avatar: '/img/bio/maxlynch.jpg',
twitter: 'maxlynch',
slug: 'maxlynch',
name: 'Max Lynch',
title: 'Co-Founder, Ionic',
bio:
' Max is co-founder of Ionic, focusing on making it easy for web developers to build top quality apps across the app store, mobile web, and desktop. Max lives in Madison, WI with his wife and son, is a soccer (football) fan, and an avid gamer.',
conferences: ['eu2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/maxlynch.png'
}
},
{
avatar: '/img/bio/andreasfotschl.jpg',
slug: 'andreasfotschl',
name: 'Andreas Fötschl',
title: 'Director Solution Architecture, Wikitude',
bio:
'Andreas already played around with Augmented Reality on Android Simulators prior to the release of the first Android device. He is meanwhile assisting customers in software architecture and integration of Wikitude’s product suite.',
conferences: ['eu2017'],
twitterCard: {
eu2017: '/img/speaker-cards/eu2017/andreasfotschl.png'
}
},
{
avatar: '/img/bio/surajpindoria.jpg',
twitter: 'surajpindoria',
slug: 'surajpindoria',
name: 'Suraj Pindoria',
title: 'Professional Googler, Adobe',
bio:
'Software Developer working on Adobe PhoneGap and ApacheCordova. I enjoy basketball, soccer, hiking, and traveling.',
conferences: ['us2017']
},
{
avatar: '/img/bio/larstrieloff.jpg',
twitter: 'trieloff',
slug: 'larstrieloff',
name: 'Lars Trieloff',
title: 'Director Platform Marketing, Adobe',
bio:
'As a principal at Adobe, Lars’ work spans engineering, product management and marketing. His focus is on combining AI, Serverless computing, and open APIs to enable the next generation of digital experiences. Originally from Berlin, Germany, you find Lars these days mostly in airport security lines, sushi bars, and on Slack.',
conferences: ['us2017']
},
{
avatar: '/img/bio/henryzhu.jpg',
twitter: 'left_pad',
slug: 'henryzhu',
name: 'Henry Zhu',
title: 'Babel Maintainer, Adobe',
bio:
'Henry is a maintainer on Babel and works at Adobe on the Behance team in NYC',
conferences: ['us2017']
},
{
avatar: '/img/bio/brianleroux.jpg',
twitter: 'brianleroux',
slug: 'brianleroux',
name: 'Brian LeRoux',
title: 'Starting something new @begin',
bio:
'Brian declined to write a bio because talking in the third person weirds me out man.',
conferences: ['us2017']
}
],
sessions: {
us2016: [
{
time: '8:30am-9:00am',
title: 'Registration and breakfast'
},
new Session({
time: '9:00am-9:15am',
title: 'PhoneGap kick off',
speakerSlug: 'michaelbrooks',
description:
"Stop! Wait a moment. Close your eyes. Are they closed? Yea? Alright! Now take a deep breath. No, this isn't yoga. This may be your last relaxing moment for the next two days.<br/><br/>Ahead of you are some amazing presentations from developers in our community. Developers like you, who have contributed their time, talent, and energy to move hybrid mobile app developement forward. PhoneGap Day is an event for you. It's a place for you to meet the people behind the scenes, share your work, and leave your mark on the next version of PhoneGap and Apache Cordova.<br/><br/>Now it's time to enjoy some code, drinks, and powder on the PhoneGap Team!"
}),
new Session({
time: '9:15am-9:50am',
title: 'Mind the Gap: Supercharge your PhoneGap workflow',
speakerSlug: 'ericalli',
description:
'Developing a complex and sustainable PhoneGap app can present many challenges. As your app grows, a seamless development workflow is crucial. Can you efficiently deploy and test in different environments? What are your pain points when implementing new functionality? How can you organize all the facets of your app with minimal effort? Mind the gap focuses on some of the ways you can create a development workflow that automates these inefficiencies, boosts scalability and most of all, preserves developer sanity.'
}),
new Session({
time: '9:50am-10:10am',
title: 'Automated App Testing: A pain or cure?',
speakerSlug: 'martinposchenrieder',
description:
'You want to ship an app you can be proud of, without bugs or defects. You want it delivered quickly. However, the testing process is looked at as simply a ‘necessary evil’ and there is never enough time in the day to test everything manually. Automated testing claims to be the answer but you’ve found it ‘hard to set up’ and ‘difficult to maintain’. Is going back to pure manual testing the answer? Hiring more resources? What is the right balance between manual and automated testing? Can I make automated testing easier? What are some of the current testing trends? From my experience working with many small and large companies, I hope to share my observations, and answer some of these questions.'
}),
new Session({
time: '10:10am-10:30am',
title: 'Finding the sweet spot - blending the best of native and web',
speakerSlug: ['shawnjansepar', 'lokimeyburg'],
description:
"Choose the best technology for the job. Too often projects begin as hybrid apps, but switch to native for performance reasons. But it’s almost never the case that all features of your app need to be fully native. Today, many apps such as Amazon, Basecamp, Yelp and more take a blended approach. We'll guide you through case studies of how we build high performance apps that blend the best of native and web and highlight lessons we've learned along the way."
}),
{
time: '10:30am-10:40am',
title: 'BREAK'
},
new Session({
time: '10:40am-11:00',
title: 'Ionic: Version 2 and Beyond',
speakerSlug: 'mikehartington',
description:
"Ionic 1.0 has enabled many web developers to become mobile app developers. With the arrival of Angular 2 and its changes, and with ES6 being finalized, development has been improved yet again. How will that impact Ionic? In this session, we’ll compare Ionic 1 and Ionic 2 and go over what we've learned, what improvements we're making to Ionic, and how easy it will be to develop apps with Ionic 2."
}),
new Session({
time: '11:00am-11:25am',
title:
"The Story of an App: How StoryCorps Built and Launched the StoryCorps.me Beta Platform and What We've Learned So Far",
speakerSlug: 'deanhaddock',
description:
'Dean Haddock shares the story of the StoryCorps app, from early prototypes to the TED Prize and beyond.'
}),
new Session({
time: '11:25am-12:05pm',
title: 'PhoneGap Applications with Ember: Lessons learned',
speakerSlug: 'alexblom',
description:
"The benefits of hybrid applications are obvious (less code, simpler code, iterate faster). Developers often make quick pace, boot their app and then hit a wall trying to make it 'feel native'. This talk will discuss lessons learned & optimization techniques from having built many apps with Ember & phonegap. While this talk uses Ember & Ember packages, the tools and techniques discussed generically apply to any Phonegap application. "
}),
new Session({
time: '12:05pm-12:25pm',
speakerSlug: 'masahirotanaka',
title: 'Using Monaca Cloud to enhance Cordova development',
description: ''
}),
{
time: '12:25pm-1:15pm',
title: 'LUNCH'
},
new Session({
time: '1:15pm-1:35pm',
title: 'Session: Cordova Plugin Roundup',
speakerSlug: 'tjvantoll',
description:
'In last few years Cordova plugins have become the cornerstone of many high-quality Cordova and PhoneGap applications. In just the last year, we at Telerik have grown our curated Cordova plugins marketplace from small handful of plugins to now 65 and counting. In this talk you’ll learn about the latest greatest in the Cordova plugin world, including plugins for the Apple Watch, Mapbox maps, and a whole lot more.'
}),
new Session({
time: '1:35pm-2:15pm',
title: 'PhoneGap and React.js',
speakerSlug: 'jedwatson',
description:
'React.js has been changing the way web developers build user interfaces for the web, but what about hybrid mobile apps, where jQuery Mobile and Angular remain the most popular frameworks? In this talk Jed will review the advantages and challenges of React for mobile, why it is an exciting framework to use, and how to integrate the React ecosystem into your development workflow.'
}),
new Session({
time: '2:15pm-2:35pm',
title: 'When the heck is 4/8/2016?',
speakerSlug: 'raymondcamden',
description:
"This talk will cover basic internationalization, globalization issues with Cordova apps. I'll talk about the Globalization plugin (and how to work around the async nature of the plugin), the Intl class, and other options. Also, I'll discuss why you should give a damn as a developer."
}),
new Session({
time: '2:35pm-2:55pm',
title: 'Fixing Continuous Delivery for Mobile.',
speakerSlug: 'nickvanweerdenburg',
description:
'Manual builds and app store approval lags make it near impossible to have an effective mobile continuous delivery process. In turn, this hurts our attempts to be truly Agile with our mobile projects. The solution? Per-pull request deployment through CircleCI, CodePush and a custom CodePush loader in your app. This enables hands-free, automated deployment from commit to a user device, radically changing your testing, validation, and your user feedback processes.'
}),
new Session({
time: '2:55pm-3:25pm',
title: 'Making Enterprise Sh_t',
speakerSlug: 'brucelefebvre',
description:
'Does the idea of writing enterprise software conjure up images of bland user interfaces, XML-based configuration, and IE8 compatibility? The folks on Adobe’s Experience Manager Apps team have been working hard at avoiding these stereotypes, while building a platform for delivering and managing mobile apps for enterprise customers. This talk will provide a glimpse into the following: What are the perks of including a content management system in my app dev arsenal? Which tools are available for me to take full advantage of Adobe’s Marketing Cloud solutions? As a developer, what open source goodness can I try out today?'
}),
new Session({
time: '3:25pm-3:45pm',
title:
'The Crosswalk Advantage – a powerful runtime for your Cordova Apps',
speakerSlug: 'bobspencer',
description:
'Discover how to add advanced capabilities to your PhoneGap applications with very little effort. The Crosswalk runtime gives your application the ability to use the newest, just-released features on all platforms with predictable behavior.'
}),
{
time: '3:45pm-4:00pm',
title: 'BREAK'
},
new Session({
time: '4:00pm-4:30pm',
title: 'Build and Market Your App: Small Team Success',
speakerSlug: 'ryanhanna',
description:
"This talk will provide the tools and methodologies to help any solo developer or small team build and then market their app to ensure it has the best chance for success. We'll take a transparent look at the early beginnings of Sworkit to where it is now. From a single developer to a team of 10 employees, and from 10 downloads to 10 million. This talk will be a combination of the development and marketing lessons learned and implemented along the way."
}),
new Session({
time: '4:30pm-5:00pm',
title: 'Generate for AEM and PhoneGap: Design Evolution 3.0 - D2W',
speakerSlug: 'reneelance',
description:
'Taking design to the digital environment has traditionally been time consuming, resource intensive and something designers and developers have been challenged with since the inception of designing for the web. So what if we had the ability to take design compositions from within Photoshop or Illustrator (or any other design tool if there really is any other) and directly turn them into and app, website or email marketing with a one button click? Something that seems too good to be true doesn’t it, well maybe not. This talk will show new Adobe innovation still in the labs, which look at streamlining workflows and rapid prototyping for App creation with Adobe AEM and PhoneGap.'
}),
new Session({
time: '5:00pm-5:20pm',
title: 'Loading native code (plugins) dynamically for the enterprise',
speakerSlug: 'shazron',
description:
"Hot-code reload for html/css/js is so 2015, everyone can do it. You probably thought you couldn't hot-reload plugin native code, well you were wrong! I'll show you how (and maybe bake a cake)."
}),
new Session({
time: '5:20pm-5:40pm',
title: 'Microsoft Visual Studio',
speakerSlug: 'ryanjsalva',
description: 'TBA'
}),
{
time: '6:00pm-8:00pm',
title: 'Pub mixer: Drinks and appetizers right after the conference.'
}
],
eu2016: [
{
time: '8:30am-9:00am',
title: 'Registration'
},
{
time: '9:00am-9:15am',
title: 'PhoneGap Kickoff',
speakerSlug: 'simonmacdonald'
},
new Session({
time: '9:15am-9:55am',
title: 'Common PhoneGap Gotchas',
speakerSlug: 'kerrishotts',
description:
'Your users deserve a great experience when they launch your app! Be sure to avoid these common gotchas! The talk would focus on various practices that one should use to avoid a poor user experience, including responding to device events, slow/fast taps, providing affordances, faster animations, designing responsively, a quick touch on security, and also how to handle network connectivity (or lack thereof).'
}),
new Session({
time: '9:55am-10:15am',
title:
'Do we still need a server? P2P web applications distribution on mobile landscape',
speakerSlug: 'denisradin',
description:
'WebRTC becomes first class citizen on web platform and opens us vast sea of possibilities. P2P applications distribution is one of them which can reduce operational costs (by reducing server load and latency) and decentralize access to web content by building self maintainable CDN of user`s devices. So what should we expect from this technology and how big is impact of using P2P distributed content for mobile web world?'
}),
new Session({
time: '10:15am-10:35am',
title: 'Handling the keyboard in hybrid applications',
speakerSlug: 'timlancina',
description:
"Many developers encounter problems with the keyboard while building apps, regardless of the platform they're targeting. Whether it's covering content at the bottom of the screen or messing up your app's layout as the browser tries to bring focused elements into view, getting the keyboard to interact nicely with your content, while still having good UX, can be a challenge. This talk will outline some of the problems specific to handling the keyboard in hybrid apps and go over the different approaches to solving those problems."
}),
{
time: '10:35am-11:00am',
title: 'Break'
},
new Session({
time: '11:00am-11:20am',
title: 'Comparing Dutch Banking App Architectures',
speakerSlug: 'eddyverbruggen',
description:
"<p>Let's be honest. Cordova doesn't immediately come to mind when you want to build an app used daily by millions of users to manage their bank accounts. However, there may be good reasons to do so and in this session we'll explore the why and how of 3 recent approaches medium and large Dutch banks have taken.</p><p>I'll share my first-hand experience and opinion about these approaches and extract a few tips and tricks that can be applied to Cordova apps in general.</p>"
}),
new Session({
time: '11:20am-11:40am',
title: 'Quantifiable performance',
speakerSlug: 'brucelefebvre',
description:
"It can be difficult to pinpoint exactly when that lightning fast, yet smooth as silk app of yours started showing it's first signs of jank. First a dropped frame, next a choppy animation.. In this talk we'll introduce tools and processes that you can use today to start metering the performance of your app in key scenarios, helping you identify issues before your users do. We'll get there with the help of your browser's DevTools, Appium, and browser-perf."
}),
new Session({
time: '11:40am-12:00pm',
title:
'Progressive enhancement for mobile apps: exploring the continuum between Cordova and React Native',
speakerSlug: 'martijnwalraven',
description:
'<p>Rather than looking at Cordova and React Native as two separate technologies that mobile developers have to choose between, these approaches can be seen as part of a continuum that allows for progressive enhancement. It should be possible to build apps from a shared codebase that work out of the box on both desktop and mobile devices, but that can be iterated on to get you all the way to a fully native user experience for the parts where this makes sense.</p><p>The React programming model is especially suited for this, both because of its focus on composability, and because it has shown that a JavaScript UI framework does not have to be dependent on the DOM. This talk will explore how this model makes it possible to reuse components between web and native platforms, and may even allow for ways to seamlessly mix native views and web elements within a single component tree. It will also discuss ongoing work on establishing a common API surface for accessing device-native features.</p>'
}),
new Session({
time: '12:00pm-12:20pm',
title: 'Fixing Continuous Delivery for Mobile',
speakerSlug: 'evanschultz',
description:
'Manual builds and app store approval lags make it near impossible to have an effective mobile continuous delivery process. In turn, this hurts our attempts to be truly Agile with our mobile projects. The solution? Per-pull request deployment through CircleCI, CodePush and a custom CodePush loader in your app. This enables hands-free, automated deployment from commit to a user device, radically changing your testing, validation, and your user feedback processes.'
}),
{
time: '12:20pm-1:20pm',
title: 'Lunch'
},
new Session({
time: '1:20pm-2:00pm',
title: 'The State of the Gap',
speakerSlug: 'remysharp',
description:
'<p>"PhoneGap is a polyfill, and the ultimate purpose of PhoneGap is to cease to exist" – Brian LeRoux, SPACELORD!1!! at Adobe, 2012.</p><p>Clearly PhoneGap, and Cordova are still required today, but when is it really needed? Did the web ever catch up? Do we always need to turn to a PhoneGap shell for all our solutions?</p>'
}),
new Session({
time: '2:00pm-2:20pm',
title: 'Using Monaca Cloud to enhance Cordova development',
speakerSlug: 'masahirotanaka',
description: ''
}),
new Session({
time: '2:20pm-2:40pm',
title: 'Hybrid Apps Powering African Mobile Solutions',
speakerSlug: 'saniyusuf',
description:
'With one of the youngest and fast growing populations around, it is a great opportunity to shine a light on how developers in the developing world (Africa) are changing the world with Hybrid solutions. This talk was inspired by months travelling in Africa meeting real developers using Hybrid technologies. This talk will also highlight some of the goodness they are doing and also discuss some challenges faced by these innovators like slower internet connections & supporting legacy mobile devices.'
}),
new Session({
time: '2:40pm-2:55pm',
title: "What's new with PhoneGap Build",
speakerSlug: 'brettrudd',
description: ''
}),
new Session({
time: '2:55pm-3:15pm',
title: 'Simulating Plugins in the Browser',
speakerSlug: 'ryanjsalva',
description:
"I'll talk about how and why you can continue develop in the browser even after you've added hardware-dependent plugins like the barcode scanner."
}),
{
time: '3:15pm-3:45pm',
title: 'Break'
},
new Session({
time: '3:45pm-4:05pm',
title: 'Making Apps for the Big Screen',
speakerSlug: 'nielsleenheer',
description:
'When PhoneGap was first released, its goal was to become obsolete. On mobile that never happened. However, if you want to create an app for a Smart TV, set-top box or game console, you will find web apps are almost always natively supported. And in many cases it is the only way to build apps. This talk will focus on the different platforms that are out there, the SDKs that you can use, and the practical problems you are going to encounter when you port your apps to the big screen.'
}),
new Session({
time: '4:05pm-4:25pm',
title: 'Crosswalk Project Empowers PhoneGap Apps',
speakerSlug: 'raphaelkubodacosta',
description:
'The Crosswalk Project web runtime gives web applications a predictable environment to run in with world class performance. Use new, cutting-edge, or experimental APIs and extensions and deploy complex web applications with confidence. This sessions explores how Crosswalk solves fragmentation challenges across the full range of target mobile devices, improves web app performance, and opens up opportunities to use new APIs for 3D cameras, WebVR, and more. Adding the Crosswalk pluggable webview has never been easier. So much goodness for so little work!'
}),
new Session({
time: '4:25pm-5:05pm',
title: 'Case Study: StoryCorps App',
speakerSlug: 'deanhaddock',
description:
'Dean Haddock shares the story of the StoryCorps app, from early prototypes to the TED Prize and beyond.'
}),
{
time: '5:05pm-5:20pm',
title: 'Closing Remarks',
speakerSlug: 'shazron'
},
{
time: '5:30pm',
title: 'Networking Pub Mixer'
}
],
us2017: [
{
time: '8:30am-9:30am',
title: 'Registration and Breakfast'
},
{
time: '9:30am-9:45am',
title: 'PhoneGap kick off',
speakerSlug: 'surajpindoria'
},
new Session({
time: '9:45am-10:30am',
title: 'Modern JavaScript and PhoneGap',
speakerSlug: 'kerrishotts',
description:
'JavaScript is changing with new versions of the standard now releasing every year, and lots of proposals being considered for inclusion. Most mobile devices can only support this new world with the help of automation, module loaders and bundlers, and transpilers… but if all of those words sound a little scary, don’t worry — it’s easy to build a workflow that integrates modern JavaScript and PhoneGap together, and in this session we’ll show you how!'
}),
new Session({
time: '10:30am-10:50am',
title: 'Stencil.js and the future of components',
speakerSlug: 'mikehartington',
description: