Today's pairwork session was largely spent working on the project's Readme and time log. It was quite interesting as we discovered new ways to manage our project and tasks more efficiently. I'll talk about the tools that we are currently using to help us.
Firstly, there's this cute website called Trello. It is basically a to-do list manager at its core. In Trello, you first create a Board. This board, which is a container for the entire project, holds Lists. Lists are general aspects of the project that should be focused on. For example, we have a list called "Features For This Sprint" that holds tasks. These tasks are wrapped in Cards, which the lists contain. The cards are the most detailed components; they can hold the task descriptions, additional checklists and activity history. Furthermore, the entire board can be made public for viewing, and shared among team members who are given editing privileges. It was pretty intuitive to use and we hope that it would serve us well throughout this project.
Our Trello Board can be found at this link.
This was overlooked by us, somewhat, but Google Docs Spreadsheet is a pretty good tool for keeping a time log. We were inspired to use this when we saw the sample readme. It is pretty efficient now, especially since we can sort by date, but I don't know whether it will become hard to use when there are more and more entries. It's getting a little hard to read even now. Our time log sheet can be found here.
Of course, there's this blog. We intend to update this blog regularly with our thoughts and reflections about the things we have learnt along the way. This will allow us to track our learning process and also for posterity's sake. Additionally, the blog has customizable sidebars that can hold to-do lists and other information. However now with the Trello and Spreadsheet, those sidebars may not come in handy as much. Another reason for setting up the blog is so that we may experiment with any HTML/CSS/JS that we learnt in mission controls, but so far we have not been focusing on that.
We use git as our version control tool, and Github as the online repository service so that we can share code among ourselves. Encountered problems with binary files differing during a merge, but that is because we did not set up the gitignore file properly.
Lastly, team communication is mostly text messaging and regular meetups in school. These methods have served us well thus far, so I highly recommend them to all other teams.
Thanks for reading!
Nick
Friday, 30 May 2014
Monday, 26 May 2014
Introducing Our App
Nick here. I'll be introducing our project in a bit more detail.
Our app, called NUS Buddy, is a personal assistant-style productivity application designed to bring the most important information in IVLE to the NUS student user. Announcements, grade books, and final exam details are just a couple of taps away. The app will also have to-do-list functions for keeping track of homework, assignments, and quizzes. Additionally, there is an in-built CAP calculator, where students can simulate their CAP score by simply entering their module's projected grades. As an extension, the app may offer social aspects like sharing of timetables and target for the semester with a list of friends.
The technologies we will utilize include Android development and debugging tools, Java & XML coding in the Eclipse IDE, the IVLE LAPI to retrieve JSON data, possibly some SQLite database functionality, and Facebook social tools if we implement the social extensions. We may also utilize some HTML/CSS/JS to decorate this blog a little, but this is not the main focus.
I will now introduce various aspects of the application with accompanying images. I will describe each page's significance and purpose, and may delve into the implementation technologies. Some challenges and possible improvements of each page will also be considered.
Follow the jump to view the finer details.
Follow the jump to view the finer details.
Friday, 23 May 2014
JIAWEI's update :D May 23rd
Jiawei here!
In the first 3 days of starting this project, I was really blur. I followed every instruction on the android development tutorial on the android website and still didn't manage to make MyFirstApp work. Nick says it's due to the version - kitkat, jellybean.. yeah those. The website shows that it's okay to have Froyo as the lowest version but that's not the case. After changing the lowest version to JellyBean (By Nick, any version of JellyBean should do) and redoing the tutorial, it worked!
The second problem I faced was getting used to Eclipse. I'm a new Eclipse user so the boxes and the squiggly lines are new to me. What turns me off most was the technical jargons they use for errors. Given my limited knowledge in programming, I couldn't quite get these jargons and I have to Google them. Sometimes these explanation give raise to more technical jargons and I have to Google for them too. This means I spend 1 hour Googling on an API method I read when I spent 5 seconds writing this API method. Still, I have to say I learn a lot faster with Eclipse highlighting these errors for me.
Currently, I'm tasked with a simple, small portion of our project. We meet up during the weekdays to do pair programming - actually, this means Nick doing 80% of the work and me just nodding, talking, and doing the Googling. I try to "catch up" with him by watching Android Development Tutorials Youtube videos. It's working out better now. I'm able to code out something decent without bombarding him with questions. Nick also spends less time repeating things to me. Now, we're more "what to put in" instead of "how to put it in".
Time logging: I took about 1 day just to complete the first tutorial, not including download and setup time. We then did pair programming for 3 days, about 7 to 8 hours for the first 2 days and 5 hours on the third day.
In the following days, we aim to complete our app - have the functions pin down first before we start on GUI. In the meantime, we'll still go for Orbital milestones or mission control to learn more stuff. Hopefully we have time to try out some of the things they taught, like HTML5 and CSS to make this blog look nicer.
Cheers!
JIAWEI
In the first 3 days of starting this project, I was really blur. I followed every instruction on the android development tutorial on the android website and still didn't manage to make MyFirstApp work. Nick says it's due to the version - kitkat, jellybean.. yeah those. The website shows that it's okay to have Froyo as the lowest version but that's not the case. After changing the lowest version to JellyBean (By Nick, any version of JellyBean should do) and redoing the tutorial, it worked!
The second problem I faced was getting used to Eclipse. I'm a new Eclipse user so the boxes and the squiggly lines are new to me. What turns me off most was the technical jargons they use for errors. Given my limited knowledge in programming, I couldn't quite get these jargons and I have to Google them. Sometimes these explanation give raise to more technical jargons and I have to Google for them too. This means I spend 1 hour Googling on an API method I read when I spent 5 seconds writing this API method. Still, I have to say I learn a lot faster with Eclipse highlighting these errors for me.
Currently, I'm tasked with a simple, small portion of our project. We meet up during the weekdays to do pair programming - actually, this means Nick doing 80% of the work and me just nodding, talking, and doing the Googling. I try to "catch up" with him by watching Android Development Tutorials Youtube videos. It's working out better now. I'm able to code out something decent without bombarding him with questions. Nick also spends less time repeating things to me. Now, we're more "what to put in" instead of "how to put it in".
Time logging: I took about 1 day just to complete the first tutorial, not including download and setup time. We then did pair programming for 3 days, about 7 to 8 hours for the first 2 days and 5 hours on the third day.
In the following days, we aim to complete our app - have the functions pin down first before we start on GUI. In the meantime, we'll still go for Orbital milestones or mission control to learn more stuff. Hopefully we have time to try out some of the things they taught, like HTML5 and CSS to make this blog look nicer.
Cheers!
JIAWEI
Getting Started with Android
Nick here. So here's a post to start the flow. I'll be talking about how to begin creating apps for Android.
To start developing on Android, the first thing you need to do is to visit the Getting Started page on the Android Developers' website. There, you can find tutorials on the very basics, to some slightly more advanced material. There is also a link to download the Android SDK, which very nicely comes with the Eclipse IDE. Their version of Eclipse has all the needed plugins already pre-installed, and what more, it is portable! This means you can basically start writing code on Eclipse from the get-go with very minimal setup. However, to fully utilise the Android functionality, you need to download some additional Android files. This is handled quite well by the Android SDK Manager found under the Window tab on the taskbar.
The SDK offers two ways that you can run your own Android apps. You can either plug in your Android phone to your machine, or you could run an Android emulator on your machine itself. I personally prefer to use my phone as the running platform. The emulator runs pretty slow on my PC, and it doesn't have the same feel as a touchscreen interface. To use your phone as the running platform, however, you need to unlock the developer mode. Under Settings -> More -> About Device, find the item that states the Build Number, and tap it rapidly for about ten seconds straight. Eventually, a toast notification will pop up, telling you that you have unlocked the Developer Mode. Now under Settings -> More, a new item called Developer Options will appear. Navigate into it and mark the box that corresponds to USB Debugging. This allows Eclipse to work hand-in-hand with your phone while running your application. Any errors encountered will be passed back to Eclipse and shown on the error log output.
Word of warning: do not mess around with other settings in the developer options menu unless you know what you are doing. This menu was locked for a reason!
I am not experienced enough to give a good "getting started" tutorial right now, so I won't waste our time in trying to do so. Android's own tutorial for building your first app is pretty decent in getting most people started. However it might still take some independent learning, exploring, and experimenting to be fully comfortable with the concepts covered. When I started learning, I had no time limit to meet, hence I was able to learn at my own pace. Google and StackOverflow were extremely helpful when I encountered difficulties. If you have the luxury of time, I really do recommend independent learning. For me, nothing beats the satisfaction of solving problems and finding solutions by myself.
Alright, so that's the end of the post. As I said, this post is on how to begin developing for Android. I doubt it would actually help anyone, lol, but it was quite a fun experience writing this anyway.
Time logging: I probably took about 8 hours just to complete the first tutorial, including download and setup time.
Thanks for reading!
Nicholas
To start developing on Android, the first thing you need to do is to visit the Getting Started page on the Android Developers' website. There, you can find tutorials on the very basics, to some slightly more advanced material. There is also a link to download the Android SDK, which very nicely comes with the Eclipse IDE. Their version of Eclipse has all the needed plugins already pre-installed, and what more, it is portable! This means you can basically start writing code on Eclipse from the get-go with very minimal setup. However, to fully utilise the Android functionality, you need to download some additional Android files. This is handled quite well by the Android SDK Manager found under the Window tab on the taskbar.
The SDK offers two ways that you can run your own Android apps. You can either plug in your Android phone to your machine, or you could run an Android emulator on your machine itself. I personally prefer to use my phone as the running platform. The emulator runs pretty slow on my PC, and it doesn't have the same feel as a touchscreen interface. To use your phone as the running platform, however, you need to unlock the developer mode. Under Settings -> More -> About Device, find the item that states the Build Number, and tap it rapidly for about ten seconds straight. Eventually, a toast notification will pop up, telling you that you have unlocked the Developer Mode. Now under Settings -> More, a new item called Developer Options will appear. Navigate into it and mark the box that corresponds to USB Debugging. This allows Eclipse to work hand-in-hand with your phone while running your application. Any errors encountered will be passed back to Eclipse and shown on the error log output.
Word of warning: do not mess around with other settings in the developer options menu unless you know what you are doing. This menu was locked for a reason!
I am not experienced enough to give a good "getting started" tutorial right now, so I won't waste our time in trying to do so. Android's own tutorial for building your first app is pretty decent in getting most people started. However it might still take some independent learning, exploring, and experimenting to be fully comfortable with the concepts covered. When I started learning, I had no time limit to meet, hence I was able to learn at my own pace. Google and StackOverflow were extremely helpful when I encountered difficulties. If you have the luxury of time, I really do recommend independent learning. For me, nothing beats the satisfaction of solving problems and finding solutions by myself.
Alright, so that's the end of the post. As I said, this post is on how to begin developing for Android. I doubt it would actually help anyone, lol, but it was quite a fun experience writing this anyway.
Time logging: I probably took about 8 hours just to complete the first tutorial, including download and setup time.
Thanks for reading!
Nicholas
First Post!
Hello everyone! :D
Our team No Trubbel will be maintaining this blog throughout the course of our Orbital programme. This blog will serve as both a place for us to reflect on what we have learnt, and also as a time log to meet the Orbital programme requirements.
So let's start off by introducing our project!
Our project is the development of an Android mobile application called NUS Buddy. This app aims to be a personal assistant for the NUS student using it. We will get important data from IVLE and display them neatly and conveniently so the user does not have to keep visiting the IVLE website just to stay up to date. The app will also offer functionalities like an in-built CAP Calculator and Simulator, together with to-do list managers that help the user keep track of their homework, tests, and exams. Basically, NUS students using this app will have a much easier time managing their academics in school. :)
And now, we'll introduce ourselves!
Hi! I'm Nicholas, a CS student who just finished year 1. I am interested in all things computers, which makes choosing a focus area a pretty hard choice. Currently, I am working as a Lego Mindstorms robotics trainer for the primary school level. My hobbies include producing electronic music and EATING. I probably should add "exercise" into that list one day. Anyway, I hope to learn as much as I can from the Orbital programme. Specifically, I would like to gain experience in designing and implementing mobile applications. I feel that such exposure will always be valuable regardless of whether I pursue software engineering in the future.
Hi! I'm Jiawei. A female CS student who just finished year 1 in NUS as well. I'm into reading and gaming (actually I just want to know the storyline, I'm not really into playing haha). I am considering taking Software Engineering as my focus area but I'm still open for choices. During this Summer break, I aim to learn how to design and develop Android Apps, as well as create and design websites.
So to sum up, we hope that this Orbital experience will be as fulfilling for us as it was for our seniors. Future posts will include regular updates on what we have learnt while trying to build the application. We are confident that there will be a lot to write about!
Thanks for reading!
No Trubbel
Our team No Trubbel will be maintaining this blog throughout the course of our Orbital programme. This blog will serve as both a place for us to reflect on what we have learnt, and also as a time log to meet the Orbital programme requirements.
So let's start off by introducing our project!
Our project is the development of an Android mobile application called NUS Buddy. This app aims to be a personal assistant for the NUS student using it. We will get important data from IVLE and display them neatly and conveniently so the user does not have to keep visiting the IVLE website just to stay up to date. The app will also offer functionalities like an in-built CAP Calculator and Simulator, together with to-do list managers that help the user keep track of their homework, tests, and exams. Basically, NUS students using this app will have a much easier time managing their academics in school. :)
And now, we'll introduce ourselves!
Hi! I'm Nicholas, a CS student who just finished year 1. I am interested in all things computers, which makes choosing a focus area a pretty hard choice. Currently, I am working as a Lego Mindstorms robotics trainer for the primary school level. My hobbies include producing electronic music and EATING. I probably should add "exercise" into that list one day. Anyway, I hope to learn as much as I can from the Orbital programme. Specifically, I would like to gain experience in designing and implementing mobile applications. I feel that such exposure will always be valuable regardless of whether I pursue software engineering in the future.
Hi! I'm Jiawei. A female CS student who just finished year 1 in NUS as well. I'm into reading and gaming (actually I just want to know the storyline, I'm not really into playing haha). I am considering taking Software Engineering as my focus area but I'm still open for choices. During this Summer break, I aim to learn how to design and develop Android Apps, as well as create and design websites.
So to sum up, we hope that this Orbital experience will be as fulfilling for us as it was for our seniors. Future posts will include regular updates on what we have learnt while trying to build the application. We are confident that there will be a lot to write about!
Thanks for reading!
No Trubbel
Subscribe to:
Comments (Atom)
