FOSSASIA Outreach — July 17, 2015

FOSSASIA Outreach

Okay so I along with Arnav and Jigyasa(Also a GSoC student at FOSSASIA), organised an event to promote contribution to open source projects. We also wanted to get people interested in the projects we are working on this summer with FOSSASIA. So yeah, we had an awesome event planned in collaboration with the Organising committee of Esya’15(My college’s Technical festival) and Women who code Delhi. Also, Another fellow working with the Python software Foundation Yash volunteered as speaker to share his experiences.

We had an awesome turnout of about 150 odd people. So Arnav started off with his presentation where he talked about his experience with Open source technologies and How he got into development. He talked about some important things like Why he likes FOSS, his contributions etc. which got the participants really excited. He also talked about some of his projects and GSoC. Then he moved on to our project and how’s it been like till now. You can find his slides here.

During Arnav’s presentation, Mario came online and just after Arnav was done, We put Mario on Live hangout’s video call with the participants. Mario talked about his experience with OSS and why he likes it. He also talked about some projects as well as answered questions that the attendees had. It was a very informative and inspiring talk. Thank you mario for that.

Then Jigyasa made her presentation. Right when she was in the middle of her presentation, his mentor Martin came online on hangouts and her presentation was cut short. It was pretty cool to have Martin as well. Though his children were playing in the background and making some noises 😛 but the talk was pretty informative.

Next I put on the pre recorded video Mohit had sent me talking about his experience and some tips to start a beautiful journey into the open source world. His video very precise and to the point. I liked that about the video. The content was really good. Thank you Mohit to take out time to make the recording.

Lastly I gave my presentation where I talked about some myths regarding open source. Then I talked about my experience as a programmer and an Open source enthusiast. For the maximum part of my presentation, I talked about our GSoC project. Arnav also joined me during the time where I was showing some of our work. The participants also asked questions about our project during the allocated time. We also gave them the links to the repos and mailing list etc. to get them a starting point to contribute to FOSSASIA. It was a cool event all in all.

Ciao !!

Mid terms are here!! —

Mid terms are here!!

I am probably a bit late posting this but anyways. So, we had our midterm evaluations. Now I am getting the feeling that time has actually has flown by. I mean we are already finished with our mid terms. It feels like yesterday when we started working and now we’re half way through already.

But I must say that it has been really lovely working with such awesome people. We are working really nicely as a team. The project that we’re doing ‘Open-Event’ is also going to help so many organisers. It would take away so much burden off of the organisers head. I mean the biggest worry for the organiser is to get the info about the event to the people and get them excited through the medium of the apps like the web-app and the android app and the pain of finding a developer who is worthy enough and then pay a lot to get the app ready in time. All of this is taken care off by our project. It’s cool, right?

Anyway, We have already done the basic stuff in the app and made it operational but yeah now I am working on some other necessary stuff like notifications, bookmarks etc. and Rafal is working on login and stuff to keep the editing rights with the owner only. Arnav is also working on the UI of the app and he has made the app totally on material UI using Bootstrap material. So has rafal on the server frontend.

All of us also had a hangouts call to discuss the future of the project and how we’re going to proceed. Unfortunately rafal couldn’t make it. We discussed about how we’re going to get ready for the final events. So the conclusion was to get 3 environments ready : Staging, production and development, So that we can develop cool new features without harming the work that has been accomplished. So this will be like keeping an alpha, beta and stable version for the server.

At the end I must say that I have learned a lot as well as enjoyed by working on this project and I am sure that ther’s a lot of learning to do in the future as well. Adios !!

Materialisation (GSoC update #4) — June 24, 2015

Materialisation (GSoC update #4)

This week I had the chance to go over some cool apps based on the material design principals and I must say that the design itself is awesome. Well done Google. Also the developers have done a great job in including the principles in their apps. Kudos to them !!. Some of my personal favorites were Pushbullet, Localcast and WhatsApp.

Moving on to my project. I had started building on the user interface of the app this week. So after looking at a lot of apps. I decided to make a recycler view list of cardviews. Cool right? Looks awesome too. I did this by put an imagview, relative layout and a linear layout in a linear layout. In the second linear layout I added the textviews for the position, organization. Finally the description textview was added in the relative layout. This is how I designed the card layout. Now for the recycler view of cardviews, I added cardview layout to the recycler view adapter to make the list of cardviews.

I also wrote unit tests for the database this week as suggested by Mohit. At first, they were failing and since I didn’t have any experience writing tests for databases, I wasn’t able to debug them. So, I took help from mohit who ended up identifying the problems which was arising due to the singleton in the database. Apparently, You can’t use singletons in a test becuase we don’t control the creation of the singleton object, as it is performed inside a static method. There is no way to mock the object in order to test the behavior of our method in isolation. So for now mohit has used dependency injection to make the tests work but I am working on a way to remove the injection.

This is pretty much all from this week. Adios !!

Basic UI implementation for Event app (GSoC Update #3) — June 12, 2015

Basic UI implementation for Event app (GSoC Update #3)

I am enjoying this a lot. It has been a wonderful experience till now working with all my team members and my mentors. I mean I am learning something new everyday. Like I have learned squashing git commits using rebasing and pushing, which I am using a lot now. I am also following a code review policy suggested by mohit where I push to a new branch on my fork and then create a PR, after which mohit reviews my code and then merges it. This is a very nice practice and I think that every open source developer should follow such practices to get the best quality code out there.

Moving on, this week I was mainly working on implementing the UI for the app. For this I studied layouts of various apps and came out with what I though was best. So I though I should implement the Tracks Fragment First where I add all the tracks I have updated inserted into the database in a recycler view. I take up a very basic layout for now just showing the track name and description.

I also added the sponsor fragment where I have used Picasso by Square Inc. to download the Logo images and displayed them in a recycler View. Here also I researched various options to download the Sponsor Logo images and I come up with one clear winner : Picasso. We can resize image, load from URL’s,drawables etc. all in just one line of code.

I also added the speaker fragment in which I used a bit complex layout as I had to get the speaker image, name, designation and description all in one recycle view ViewHolder. So after some hiccups I managed to get it right. I used Picasso here as well for the speaker Image. Although I still have to add further details to this fragment and the others. I’ll do so in this week. I am planning on adding some material design with some clickables for different holders. I have also started to work on a list of cardviews as well.

Google IO 2015 and UI implementation of open-event (GSoC Update #2, Dated: 5-6-2015) —

Google IO 2015 and UI implementation of open-event (GSoC Update #2, Dated: 5-6-2015)

This past week was really exciting for all android developers due to the Google IO 2015. We got to see many things -Android M, cool features in Wear, Project ara, the Photos app, Contextual searches in the search app, auto and what not. There was also the Support design Library which is seriously awesome. After the introduction of material design, it was a bit difficult for developers to use components such as collapsing toolbars, Coordinator layout, Navigation View, Tab Layout, snack bar and also the Floating action Buttons. Also this was included in the support library and made very easy to include in your app.

I also made a sample on the Support Design Library where I have included the navigation View for now. But I have plans of adding other components as well. Anyways, since this is so great I decided to include the design library in my GSoC project as well. So after fiddling around with the layout a bit, I added a Navigation View with the drawerToggle visible, so I can make it animated afterwards.

I also completed the data retrieval from the API endpoints with the help of Mohit, using a combination of Retrofit and OkHttp. OkHttp was used for getting a http connection instance to the server and Retrofit helped in getting the data which was converted to java objects with the help of Gson automatically. Initially I had my mind almost set on using Volley to do all network related tasks but then Mohit convinced me that Retrofit+okhttp+Gson was the best combo. Since he had already used the combo in one of his projects, he added a sample for me to see. This made things clear and I could build upon his work to completion.

API data download mechanism ( GSoC Update #1, Dated: 29-5-2015) —

API data download mechanism ( GSoC Update #1, Dated: 29-5-2015)

This week was kind of not good. Arnav and me were working on the basics of the android app. We mostly ended up doing the same work but with the experience he has he finished first and committed his code a bit earlier than me, so I ended up committing very less code to the repo. But then we collaborated and sorted things out.

Before starting this app I was working on the Ots15 and the Re:publica apps which are forked from the Fossasia companion. We couldn’t make the re:publica app perfect due to shortage of time but we did justice to the Ots app. We tested it as well in a beta version before releasing it to app store.

Moving on, this week was mostly about data download from the basic orga server Rafal had created. I had Volley in mind for all the networking tasks but Mohit suggested that we use a combination of retrofit and okhttp as it would be more efficient but as far as I read I gathered that this combo would be best for RESTful services and Volley with OkHttpstack would be the best combination for downloading Json data and images. I had a discussion with Arnav as well about this. He also supported me as he read somewhere that Volley was going to be a part of AOSP in the near future and it would be supported by Google. Moreover it is also being used in apps such as the play store and works awesome there.

So, in conclusion I decided to use Volley and started working on it.

GSoC 2015 with FOSSASIA !! —

GSoC 2015 with FOSSASIA !!

gsoc15

I guess this is probably a little late for this post but anyways I’ll go ahead. I got selected into Google Summer of Code this summer. I will be working with FOSSASIA, which is the  largest Open Source organisation in Asia founded by Mario Behling and Hong Phuc Dang on the android version of the Open Event App. I have 3 mentors namely Mario Behling,  Jonathan Duke Leto and Mohit Kanwal. Mario is none other than the founder of Lubuntu among other things. Jonathan is the founder of Leto Labs llc who encourages us to use practices such as issue tracking, squashing, daily scrums etc., which are the trademarks of a good Open source Developer. Last but not the least is Mohit, who is my direct mentor for the android app. He is an impressive java developer and Open source contributor, who helps me maintain the quality of my code by reviewing it thoroughly and also helps me with issues I face while writing code or with git.

The project consists of three parts namely the server, web app and the android app. The orga-server is being developed by Rafal who is in the final year of his degree at the University of Wroclaw, poland. He is using Python for the backend and Flask-admin for the dashboard.

The web app is being developed by Arnav Gupta who is studying at DTU. He is a avid open source contributor. He is also the device mantainer for Sony Xperia at CyanogenMod and AOKP. He is using angular-js and bootstrap to create the web app.

Now let’s get some details for the overall project. What we want to achieve by this project is a way for all event organisers to get both the android app and the web app without having to do any changes in the code. He would just need to enter the event data at a hosted server which stores it in a sql database. The web and the android apps pick up data from the json api’s hosted at the server. Everything from the data to the colors is customisable using the event json api. So basically they would fill out the data at the server dashboard and the change the event number in the apps and they’re all set to go. Isn’t that cool?

All three of us are working closely, guided by our mentors to make the whole solution ready to use for anyone by the end of these summers.

Hello world! — June 9, 2015

Hello world!

Hi folks !!  First of all let’s get the introduction out of our way. I am Manan Wason, a sophomore majoring in Computer Science at the Indraprastha Institute of information Technology or as many of you would know as IIIT Delhi. I am a Google Summer of Code intern at FOSSASIA and I have worked in a startup called Backpack as well for a month previously.

Though I have worked with many languages like Python, C/C++, java, HTML/CSS but for the most part the Android SDK is my strong suite. I am also a Open source software enthusiast. I have used many Open source software and libraries in my projects and I have open sourced them as well.

Take a look at my GitHub profile. This blog is mostly intended to share my programming experiences. Cheers !!