droidconIN 2015

The fifth edition of droidconIN

From its humble beginnings as a mobile OS 6 years ago, Android is now the most popular operating system (of any kind) in the world.

2015 is the year of Android breaking out of mainstream smartphones and tablets and moving into all kinds of unique devices like IoT, Wearables, Automotive, TV, etc.

droidconIN 2015 wants to talk about how we can push these boundaries even further.

What we are looking for

Core Development

Critical, hardcore Android. What an Android developer faces day-to-day.

Things like: New development techniques/methods/concepts, UI/UX, build tools(Gradle, Maven, Ant), useful hacks/libraries, cross platform development

Enterprise

Android in enterprise. How Android development inside large organizations work.

Things like: Testing, Security, Deployment, Custom builds(ROMS)

Consumer

Android applications for consumers, preferably in an Asia/South Asia context.

Things like: Communication, Information, Games, Android Wear/TV

Beyond handhelds

Android outside the mainstream smartphones and tablets.

Things like: Home Automation, Automotive, Gaming, Embedded systems, Machine-to-Machine

Marketing

Everything in the Play Store ecosystem.

Things like: Discovery, Monetization, Licensing, Consumer marketing strategies

Emerging trends

The bleeding edge of Android development

Things like: New frameworks, APIs, Hardware

App Demos

Demonstrations, discussions and community engagements around Android Apps.

Come to Droidcon India 2015 to discuss how you’ve tackled each of these issues.

Criteria to submit

You must be a practising developer or designer and are expected to present original work that your peers — this event’s audience — recognise as being notable enough to deserve a stage.

If you are excited about someone’s work and believe it deserves wider recognition, we recommend you contact them and ask them to submit a proposal.

Selection Process

Proposals will be filtered and shortlisted by an Editorial Panel. We will notify you if your proposal is shortlisted. We urge you to add links to videos / slide decks when submitting proposals. This will help us understand your past speaking experience. Blurbs or blog posts covering the relevance of a particular problem statement and how it is tackled, will help the Editorial Panel better judge your proposals.

Proposers must submit presentation drafts as part of the selection process to ensure that the talk is in line with the theme of the conference, and to help the editorial panel build a strong line-up for the event.

There is only one speaker per session. Entry is free for selected speakers. HasGeek will provide a bursary to cover part of your travel and accommodation in Bangalore. Bursaries are limited and made available to speakers delivering full sessions (40 minutes or longer). As our budget is limited, we will prefer speakers from locations closer home, but will do our best to cover for anyone exceptional. If you are able to raise support for your trip, we will count that as speaker travel sponsorship.

If your proposal is not accepted, you can buy a ticket at the same rate as was available on the day you proposed. We’ll send you a code.

Commitment to Open Source

HasGeek believes in open source as the binding force of our community. If you are describing a codebase for developers to work with, we’d like it to be available under a permissive open source license. If your software is commercially licensed or available under a combination of commercial and restrictive open source licenses (such as the various forms of the GPL), please consider picking up a sponsorship. We recognize that there are valid reasons for commercial licensing, but ask that you support us in return for giving you an audience. Your session will be marked on the schedule as a sponsored session.

We are no longer accepting proposals. The deadline for submissions was Wednesday, October 21st, 2015

Hosted by

droidconIN is an annual conference on Android, part of the worldwide series of events. more

Nazneen Rupawalla

@nazneenr

Where do the Android tests belong?

Submitted Oct 18, 2015

1) Understand how to overcome the “inverted test pyramid” issue in the application tests.
2) Understand how to test drive the logic while developing Android apps, by structuring the code appropriately.
3) Compare the existing test pyramid in the current application with ideal test pyramid and understand the kind of tests that fit in each layer while developing/testing Android apps.

Outline

After looking at multiple android applications tests, we can see that most of them rely heavily on end-to-end tests, UI tests, and customer facing tests, rather than unit tests. This is a classic “inverted test pyramid”.
While most of the people know about this inverted test pyramid, there are challenges in writing tests at the unit level for Android apps because of the platforms’ architecture.

We too struggled with the right approach to test our application initially. We eventually figured out an approach by experimenting with different design patterns like MVP (Model-View-Presenter), MVVM and different testing frameworks like JUnit, Roboelectric, Espresso, Calabash.

In this talk, we will talk about our journey to achieve the ideal test pyramid structure. We will discuss the challenges we faced to test our apps and the approaches to overcome them with a working example.

At the end of the session, we will understand how to structure the code appropriately to unit test the logic and add tests at the appropriate layer.

Presentation Outline:
1) We will showcase a working Android application which will have features around components like database, network call and heavy UI like viewpager, etc. We will explain the importance of writing tests and test pyramid to maintain the stability of the project if we need to scale this application where more developers will be churning code.
2) We will look at listing the test scenarios of the application and discuss the levels these tests could be written in colloration with the inputs from the audience.
3) We will discuss the disadvantages of having so many tests at the functional level.
4) We will discuss the challenges we faced in our project because unit testing in Android does not come naturally and how we ended up with inverted test pyramid.
5) We will talk about our journey of trying different design patterns like MVP and MVVM.
6) We will build the same application by following TDD and will come up with a pattern which is a mixture of MVP and MVVM. We will test drive the functionalities and will showcase how to write tests at each layer of test pyramid on Android by using test frameworks like Junit and Espresso.

APP SOURCE CODE - https://github.com/AndroidTestPyramid/GadgetStop

Speaker bio

Nazneen is an Application Developer at ThoughtWorks. She has been into Android development for the last few years and has been involved in a wide variety of Android projects.
She has conducted four Android Bootcamps successfully for ThoughtWorks and has also been involved in code-jams for a local issue tracker application called Project Kranti. She has also been involved in developing event/conference applications for ThoughtWorks.
She has also been an active speaker in the Android community, and has spoken at various conferences including Mobile Developer Summit(MDS) 2013 and 2014.
Her article on Building Secure Android apps was published in PCQuest (May 2015).
She is an Android enthusiastic, always eager to explore and learn something new.
Blogs:
https://www.thoughtworks.com/insights/blog/who-do-you-think-owns-your-android-app
http://pullingoutallstops.blogspot.in/

Twitter Handle: https://twitter.com/Nzneen
About Me: https://about.me/NazneenRupawalla

Vidhi Thakrar is a Senior Developer at ThoughtWorks and have almost 8 years of Experience in IT industry. She has mostly worked on various Mobile Platforms like J2ME, Blackberry and now working on Android. She is currently working for a leading US airlines mainly focusing on Android development.

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

droidconIN is an annual conference on Android, part of the worldwide series of events. more