The task is to improve the performance of an existing Android app. In its current state the app performs poorly which translates into frequent crashes, app freezes and slow responsiveness to execute certain commands. The Database, API methods and the Android version are already developed.
The first task is to develop in-memory cache for the key tables and asynchronously persist changes to the DB (write through the cache). The saving of the DB should happen after the API response. We suggest “Object Cache” or “Static Variables”. Think about locking and “Concurrent Bag” & “Concurrent Dictionary”. After the code is reviewed specific areas will be selected and developed.
The second task is to change the way the data tables are serialised in the API. At present the data tables are serialised and instead of this you must come up with a more efficient lightweight structure serialised in the API. Make the response payload as small as possible. Consider using GZIP compression.
1) We are using NET 4.5, Database in SQL Server 2014
2) There isn’t a local offline copy of data. App always uses APIs to communicate with Server which we think it creates performance issues
3) Technology used - .NET with ASP.NET Web Services (asmx)
4) Native app, Android version developed
5) Source code – to be provided on request
6) List of all APIs – to be provided on request
• You must have solid experience (5 years plus) in ASP.NET and SQL Server 2014 clearly stated on your Freelancer profile
• Preferably some experience in Android coding
• A minimum of 2 years’ history on Freelancer with excellent reviews
• You must be able to demonstrate how you used in-memory cache layers for other projects
• Since this is an Android app, you must have for testing purposes an Android phone (version 4.2 or higher) with SIM card and phone number
• Individual freelancers are preferred to software development companies
• We ask you to review the existing work (code) and submit a technical proposal as part of the bidding process. Through this proposal you will demonstrate your experience with in-memory cache, select areas (tables) to be worked on, describe the method used for each area or table, submit a sample of code. We will award the work to the freelancer with the best proposal
• You must be able to work on this full time starting imminently
• The project for this budget is $1,800 to $2,000 and it must be completed in 14 days