Showing posts with label the. Show all posts
Showing posts with label the. Show all posts

Thursday, March 12, 2015

GQueues Mobile a case for the HTML5 web app

This guest post by Cameron Henneke originally appeared last month on the Google Code blog as part of the Whos at Google I/O series. We dont normally cross-post one month later, but we think this post will be very valuable for Google Apps Marketplace developers evaluating their mobile strategy.

With the proliferation of mobile app stores, the intensity of the native app vs. web app debate in the mobile space continues to increase. While native apps offer tighter phone integration and more features, developers must maintain multiple apps and codebases. Web apps can serve a variety of devices from only one source, but they are limited by current browser technology.

In the Google IO session HTML5 versus Android: Apps or Web for Mobile Development?, Google Developer Advocates Reto Meier and Michael Mahemoff explore the advantages of both strategies. In this post I describe my own experience as an argument that an HTML5 app is a viable and sensible option for online products with limited resources.

Back in 2009 I started developing GQueues, a simple yet powerful task manager that helps people get things done. Built on Google App Engine, GQueues allows users to log in with Gmail and Google Apps accounts, and provides a full set of features including two-way Google Calendar syncing, shared lists, assignments, subtasks, repeating tasks, tagging, and reminders.




While I initially created an “optimized” version of the site for phone browsers, users have been clamoring for a native app ever since its launch two years ago. As the product’s sole developer, with every new feature I add, I consider quite carefully how it will affect maintenance and future development. Creating native apps for iOS, Android, Palm, and Blackberry would not only require a huge initial investment of time, but also dramatically slow down every new subsequent feature added, since each app would need updating. If GQueues were a large company with teams of developers this wouldn’t be as big an issue, although multiple apps still increase complexity and add overhead.

After engaging with users on our discussion forum, I learned that when they asked for a “native app,” what they really wanted was the ability to manage their tasks offline. My challenge was clear: if I could create a fast, intuitive web app with offline support, then I could satisfy users on a wide variety of phones while having only one mobile codebase to maintain as I enhanced the product.

Three months ago I set out to essentially rewrite the entire GQueues product as a mobile web app that utilized a Web SQL database for offline storage and an Application Cache for static resources. The journey was filled with many challenges, to say the least. With current mobile JavaScript libraries still growing to maturity, I found it necessary to create my own custom framework to run the app. Since GQueues data is stored in App Engine’s datastore, which is a schema-less, “noSQL” database, syncing to the mobile SQL database proved quite challenging as well. Essentially this required creating an object relational mapping layer in JavaScript to sit on top of the mobile database and interface with data on App Engine as well as input from the user. As a bonus challenge, current implementations of Web SQL only support asynchronous calls, so architecting the front-end JavaScript code required a high use of callbacks and careful planning around data availability.

During development, my test devices included a Nexus S, iPhone, and iPad. A day before launch I was delighted to find the mobile app worked great on Motorola Xoom and Samsung Galaxy Android tablets, as well as the Blackberry Playbook. This fortuitous discovery reaffirmed my decision to have one codebase serving many devices. Last week I launched the new GQueues Mobile, which so far has been met with very positive reactions from users – even the steadfast “native app” proponents! With a team of developers I surely could have created native apps for several devices, but with my existing constraints I know the HTML5 strategy was the right decision for GQueues. Check out our video and determine for yourself if GQueues Mobile stacks up to a native app.





Cameron Henneke
Cameron Henneke is the Founder and Principal Engineer of GQueues

Cameron is based in Chicago and loves Python and JavaScript equally. While not coding or answering support emails, he enjoys playing the piano, backpacking, and cheering on the Bulls.


Want to weigh in on this topic? Discuss on Buzz
Read more »

Wednesday, March 11, 2015

Get your Google Drive App listed on the Google Apps Marketplace

The Google Apps Marketplace brings together hundreds of third-party applications that integrate and enhance Google Drive, part of Google Apps for Work, our suite of collaboration and productivity tools for businesses. To improve discoverability and increase adoption, it’s important to make your Google Drive app integration available on the marketplace.

Today, we want to share with you four easy steps to get listed immediately and enable admins to install your application for all users in their domain. For more details, check out the Google Apps Marketplace documentation.

Step 1: Open your Drive project on Google Cloud console. Turn on “Google Apps Marketplace SDK” for your project. Screen Shot 2014-08-20 at 11.50.10 PM.png

Step 2: Click the gear icon to configure “Google Apps Marketplace SDK”. Refer to Google Apps Marketplace documentation for details. In the scopes section, be sure to request the same scopes as your Google Drive application, and check the “Enable Drive extension” checkbox.

Step 3: Go to the Chrome Web Store developer console and select your published Drive application.

Step 4: Update the following line in your Drive application’s Chrome Web Store manifest, upload and publish.

"container":"GOOGLE_DRIVE"
with
“container”: [”GOOGLE_DRIVE”, ”DOMAIN_INSTALLABLE”]

You’re done! You application is now available to all Google Apps for Work customers to install on a domain-wide basis through the Google Apps Marketplace. Refer to Publishing your app documentation for details. You can access Google Apps Marketplace inside Google Admin Console and verify your newly listed application.

Please subscribe to the Google Apps Marketplace G+ community for the latest updates.
Posted by Hiranmoy Saha, Software Engine, Google Apps Marketplace
Read more »

Tuesday, March 10, 2015

Agile Testing a response to The Golden Rules of Testing

Today someone sent me a link to a Software Test Professionals (STP) article on the Golden Rules of Testing as applied to an agile project. Im pleased that the testing community is embracing agile more and trying to figure out how to fit in. However, I was troubled by some of the statements I read. It appears Im the "thats not how we do it in agile" guy who has some objections to his views. Commenting on the article directly required giving my name, address, occupation etc which I was unwilling to do so Im posting my comments here. Interestingly, the author wrote a post on his personal blog “Am I an agile tester?” that is much closer to the views that I hold.

Rays words are in normal text below. My replies are italicized and in blue.
 
***************************
Switching from Waterfall to Agile is known to directly impact testers.
Yes. But not just testers - everyone.

Its true; the change can be difficult for some of us. However, fear not, some things never change regardless of the development approach.
Agreed.

Ive put together what I think are the golden rules of testing that still apply. So when someone says "thats not how we do it in Agile" (and believe me - they will) dont take none of it and stick with the basics. 
<spidey senses tingling>Depending on how you interpret this statement, this is either ok, or a recipe for failure.</spidey senses tingling>

Read these simple golden rules for software testing based on my own experiences.

It’s all about finding the bug as early as possible:
Close. It is actually about preventing the defect from being found rather than finding it as early as possible. Finding it earlier is better, preventing it is best. For more on this topic, check out this fantastic go-to article on agile QA: http://bit.ly/aOfJM5
  • Start the software testing process by analyzing requirements long before development. I object to the word “long” here. It implies that we do big requirements up front. It also more than implies a process smell - the long gap between anaylsis and implementation. Rather, let’s take a look at a story together as a team right before development begins on that story to analyze the requirements and create our tests before we start coding. Then, repeat for the next story.
Make sure you have these 3 software testing levels:
  • Integration testing (performed by IT) performed by the team.
  • System testing (performed by professional testers) performed by the team.
  • Acceptance testing (performed by business users) performed by the team.
Don’t expect too much of automated testing:
  • First let me state this: Automated testing can be extremely useful and can be a real time saver. But it can also turn out to be a very expensive and an invalid solution. I tried to find more some information from Ray on what he means by automated testing but couldn’t find any additional info despite the fact that he has written a few blog posts about automated testing. This statement is usually delivered by someone who has attempted and struggled with automated UI testing. Automated UI testing can be more difficult and more expensive, but Im not sure how it is an "invalid solution". However, automated service testing is comparably simple, not expensive, not invalid, and a consistent time saver. Automated UI testing can still be valuable, but the ratio of service to UI tests should be heavily weighted toward service testing IMO.
Deal with resistance:
  • If you like to be instantly popular, don’t become a software tester! You’ll find out that you are going to meet a great deal of resistance. It is very likely that you will end up being the sole defender of quality at a certain point. Other participants in the project will be tempted to go for the deadline, whatever the quality of the application is. This is one of the reasons the agile testing community preaches a whole team approach to quality. Being the sole defender of anything on a project is a problem. We want our teams to own the budget and schedule, not just the PM. We want our teams to own quality, not just the tester, etc.
Read more »

Tips on using the APIs Discovery Service

Our newest set of APIs - Tasks, Calendar v3, Google+ to name a few - are supported by the Google APIs Discovery Service. The Google APIs Discovery service offers an interface that allows developers to programmatically get API metadata such as:

  • A directory of supported APIs.
  • A list of API resource schemas based on JSON Schema.
  • A list of API methods and parameters for each method and their inline documentation.
  • A list of available OAuth 2.0 scopes.

The APIs Discovery Service is especially useful when building developer tools, as you can use it to automatically generate certain features. For instance we are using the APIs Discovery Service in our client libraries and in our APIs Explorer but also to generate some of our online API reference.

Because the APIs Discovery Service is itself an API, you can use features such as partial response which is a way to get only the information you need. Let’s look at some of the useful information that is available using the APIs Discovery Service and the partial response feature.

List the supported APIs

You can get the list of all the APIs that are supported by the discovery service by sending a GET request to the following endpoint:


https://www.googleapis.com/discovery/v1/apis?fields=items(title,discoveryLink)

Which will return a JSON feed that looks like this:


{
"items": [

{
"title": "Google+ API",
"discoveryLink": "./apis/plus/v1/rest"
},
{
"title": "Tasks API",
"discoveryLink": "./apis/tasks/v1/rest"
},
{
"title": "Calendar API",
"discoveryLink": "./apis/calendar/v3/rest"
},

]
}

Using the discoveryLink attribute in the resources part of the feed above you can access the discovery document of each API. This is where a lot of useful information about the API can be accessed.

Get the OAuth 2.0 scopes of an API

Using the API-specific endpoint you can easily get the OAuth 2.0 scopes available for that API. For example, here is how to get the scopes of the Google Tasks API:


https://www.googleapis.com/discovery/v1/apis/tasks/v1/rest?fields=auth(oauth2(scopes))

This method returns the JSON output shown below, which indicates that https://www.googleapis.com/auth/tasks and https://www.googleapis.com/auth/tasks.readonly are the two scopes associated with the Tasks API.


{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/tasks": {
"description": "Manage your tasks"
},
"https://www.googleapis.com/auth/tasks.readonly": {
"description": "View your tasks"
}
}
}
}
}

Using requests of this type you could detect which APIs do not support OAuth 2.0. For example, the Translate API does not support OAuth 2.0, as it does not provide access to OAuth protected resources such as user data. Because of this, a GET request to the following endpoint:


https://www.googleapis.com/discovery/v1/apis/translate/v2/rest?fields=auth(oauth2(scopes))

Returns:


{}

Getting scopes required for an API’s endpoints and methods

Using the API-specific endpoints again, you can get the lists of operations and API endpoints, along with the scopes required to perform those operations. Here is an example querying that information for the Google Tasks API:


https://www.googleapis.com/discovery/v1/apis/tasks/v1/rest?fields=resources/*/methods(*(path,scopes,httpMethod))

Which returns:


{
"resources": {
"tasklists": {
"methods": {
"get": {
"path": "users/@me/lists/{tasklist}",
"httpMethod": "GET",
"scopes": [
"https://www.googleapis.com/auth/tasks",
"https://www.googleapis.com/auth/tasks.readonly"
]
},
"insert": {
"path": "users/@me/lists",
"httpMethod": "POST",
"scopes": [
"https://www.googleapis.com/auth/tasks"
]
},

}
},
"tasks": {

}
}
}

This tells you that to perform a POST request to the users/@me/lists endpoint (to insert a new task) you need to have been authorized with the scope https://www.googleapis.com/auth/tasks and that to be able to do a GET request to the users/@me/lists/{tasklist} endpoint you need to have been authorized with either of the two Google Tasks scopes.

You could use this to do some automatic discovery of the scopes you need to authorize to perform all the operations that your applications does.

You could also use this information to detect which operations and which endpoints you can access given a specific authorization token ( OAuth 2.0, OAuth 1.0 or Authsub token). First, use either the Authsub Token Info service or the OAuth 2.0 Token Info Service to determine which scopes your token has access to (see below); and then deduct from the feed above which endpoints and operations requires access to these scopes.

                        
[Access Token] -----(Token Info)----> [Scopes] -----(APIs Discovery)----> [Operations/API Endpoints]

Example of using the OAuth 2.0 Token Info service:

Request:


GET /oauth2/v1/tokeninfo?access_token= HTTP/1.1
Host: www.googleapis.com

Response:


HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8


{
"issued_to": "1234567890.apps.googleusercontent.com",
"audience": "1234567890.apps.googleusercontent.com",
"scope": "https://www.google.com/m8/feeds/
https://www.google.com/calendar/feeds/",
"expires_in": 1038
}

There is a lot more you can do with the APIs Discovery Service so I invite you to have a deeper look at the documentation to find out more.


Nicolas Garnier profile | twitter | events

Nicolas joined Google’s Developer Relations in 2008. Since then hes worked on commerce oriented products such as Google Checkout and Google Base. Currently, he is working on Google Apps with a focus on the Google Calendar API, the Google Contacts API, and the Tasks API. Before joining Google, Nicolas worked at Airbus and at the French Space Agency where he built web applications for scientific researchers.

Read more »

Monday, March 9, 2015

Introducing Google Drive and the Google Drive SDK

Editors note: This post is cross-posted from the Google Developers Blog.


Today, were announcing Google Drive—a place where people can create, share, collaborate and keep all of their stuff. Drive is a natural step in the evolution of Google Docs. Drive is built to work seamlessly with other Google applications like Google+, Docs and Gmail, and your app can too. Joining the launch today are 18 web apps that have integrated with Drive using the Google Drive SDK.


Integrating your application with Google Drive makes it available to millions of users. Drive apps are distributed from the Chrome Web Store, and can be used with any modern browser. Plus, your app can take advantage of Googles sharing, storage, and identity management features.



Create and collaborate

Google Drive allows for more than storage. Google Docs is built right into Drive, and your app can join the party. For example, Lucidchart is an online visual diagramming tool integrated with Google Drive. You can start a new Lucidchart or share your diagrams with friends or coworkers straight from Drive, just like a Google document or spreadsheet.

Store everything safely and access it everywhere

With Google Drive you can store all of your files and access them from anywhere. For example, MindMeister, an app for creating mind maps online, also lets you open files from popular desktop mind mapping applications. By integrating with Google Drive, MindMeister users can open their mind maps stored in Drive from any modern browser.

Search everything

Your app can also take advantage of Drives storage, indexing, and document viewers. For example, HelloFax is a web application that lets you sign and fax documents from your browser. HelloFax users can now store all their inbound and outbound faxes in Google Drive, making them easy to find later. Plus, with automatic OCR, users can even search and find text in faxed images. Your application can store files of any type up to 10 GB in size or create file-like shortcuts to your applications data.

Want your application to work with Google Drive? Full documentation on the Google Drive SDK is available at developers.google.com/drive, or if youre itching to start building, head to our Getting Started guide. Our team will be on Stack Overflow to answer any questions you have when integrating your app with Google Drive. You can also bring your questions to our Hangout this Thursday at 10:30 AM PDT / 17:30 UTC.

Look for more posts about working with the Drive SDK on the Google Apps Developer Blog in the coming weeks.

Mike Procopio profile

Mike is a Software Engineer for Google Drive, focusing on all things Drive apps. He gets to leverage his passion for the developer and user experience by working on the next-generation APIs that help unleash Google Drive. Before joining Google in 2010, he was a machine learning researcher, and enjoys engaging in illuminating statistical discussions at every opportunity.

Read more »

More opportunities to Hangout with the Google Apps developer team in 2011

Weve held many Office Hours on Google+ Hangouts over the last two months, bringing together Google Apps developers from around the world along with Googlers to discuss the Apps APIs. Weve heard great feedback about these Office Hours from participants, so weve scheduled a few more in 2011.

General office hours (covering all Google Apps APIs):

  • TODAY: December 8 @ 10:00am PST
  • December 14 @ 1:30pm PST
  • December 20 @ 12:00pm PST

Product-specific office hours:

  • Google Apps Marketplace - December 12 @ 12:00pm PST

As we add more Office Hours in the new year, well post them on the events calendar, and announce them on @GoogleAppsDev and our personal Google+ profiles.

Hope you’ll hang out with us soon!




Ryan Boyd   profile | twitter | events

Ryan is a Developer Advocate on the Google Apps team, helping businesses build applications integrated with Google Apps. Wearing both engineering and business development hats, youll find Ryan writing code and helping businesses get to market with integrated features.

Read more »

Tuesday, March 3, 2015

The Horizon Report 2008 Six Emerging Technologies

  • Link to the The Horizon Report 2008 (PDF)
  • Horizon Project (2008) Wiki
  • Via Stephen Downes
"The annual Horizon Report describes the continuing work of the New Media Consortium NMC’s Horizon Project, a five-year qualitative research effort that seeks to identify and describe emerging technologies likely to have a large impact on teaching, learning, or creative expression within learning-focused organizations. The 2008 Horizon Report, the fifth in this annual series, is produced as a collaboration between the NMC and the EDUCAUSE Learning Initiative (ELI), an EDUCAUSE program."

This time around, I am not going to make any interesting reflections regarding this report, as there are already tons of other constructive (and critical!) ones out there. Click here to discover them for yourself :)

I suppose the only buzz word that seem to gain specific interest, is the future Social Operating Systems, which seems to already be here. The problem you might face when you get a lot of professionals around to discuss the future emerging technologies, is that they get stuck in the present and past, blurring their vision to really predict the next key disruptive technologies to emerge.

However, this 32-page horizon report is something that we should eat, digest and reflect. To me, the juiciest part of this report is not what it says, but what it links us to. Interestingly, they are using the social bookmarking tool del.icio.us to easily share resources related to these six (6) key emerging trends:

Near Horizon (Less Than 1 Year)

  • Grassroots Video
  • Collaboration Webs

Mid Horizon (2-3 Years)

  • Mobile Broadband
  • Data Mashups

Far Horizon (4-5 Years)

  • Collective Intelligence
  • Social Operating Systems
In short, have fun discovering the six key emerging technologies! And if you dont find that interesting and valuable, I am quite sure you will discover some new tools or articles, which you havent already explored. In other words, this report has value to our learning minds :)
Read more »

The World Is Flat 3 0 Thomas Friedman

  • Link to Friedmans Keynote Address (MIT Milestone Celebration)
  • More MIT Milestone Celebration Videos (2007)
  • MIT World - The World is Flat Video (2005)
  • Thomas Friedmans Homepage

THE WORLD IS FLAT 3.0?
"The World Is Flat 3.0 is Thomas L. Friedmans account of the great changes taking place in our time, as lightning-swift advances in technology and communications put people all over the globe in touch as never before-creating an explosion of wealth in India and China, and challenging the rest of us to run even faster just to stay in place.

The World Is Flat 3.0 is an essential update on globalization, its opportunities for individual empowerment, its achievements at lifting millions out of poverty, and its drawbacks--environmental, social, and political, powerfully illuminated by the Pulitzer Prize--winning author of The Lexus and the Olive Tree (Source)."

I have a Dream (King)! Go Green (Friedman)! Yes, We Can (Obama)!

FRIEDMAN TALK?
Thomas Friedman gave a great talk at MIT Milestone Celebration on November 28, 2007, which is available (below) for FREE to explore, learn from, and reflect.




In this great talk, he shares with us how he by accident discovered that the World is Flat, the four flatteners, the evolution of Globalization (1.0 - Countries, 2.0 - Companies, 3.0 - Individuals) , the importance of nurturing and promoting individual imagination and mash-ups to gain a competitive edge, the importance of mastering more than one discipline, his upcoming book, "Green is the new Red, White, and Blue" (YouTube - Tom Friedman on Clean Energy), and much more.

Yeah, we know that the 19th Century belongs to Great Britain, and the 20th Century belongs to the United States, but which country will the 21st Century belong to? China, India or United States? Nope! It will probably go to Google, a dynamic region somewhere, or perhaps an individual that has not been born yet.

"Washington is brain-dead" (Dumb as they want to be!), but the United States is alive and kicking much thanks to their creative and innovative culture, and this is an area we need to learn more about, reflect, adapt and customize to our needs and way of life to compete in a global economy that is increasingly driven by creativity, innovation and ideas.


Finally, the great challenge for the 21 century will be dealing with global warming, pollution and the increasing global toxic consumption of nature. The only way out of this is to Go Green (which makes business sense, too!); innovate disruptive, cheap, and scalable energy-efficient consumption technologies, and discover new forms of energy (In addition, we need to consume with Green sense and caution!). The new disruptive secret Green energy innovation might not be water, hydrogen, air, solar energy, or Superman (Sorry, Dwight Howard!).

Imagine driving a car, or flying a plane using only human energy (Flintstones!). I like to call it Human Touch! Now that is disruptive and Green, but is it possible? :)
Read more »

Monday, March 2, 2015

The Finnish Education System Rocks! Why


“Education is the most powerful weapon which you can use to change the world.”
- Nelson Mandela

Part 2: Insightful Videos Exploring Why the Finnish Education System Rocks!


FUTURE LEARNING FINLAND

A couple of weeks back (16th September), I attended a Future Learning Finland one-day seminar & networking session. Finpro had invited a few dozen people from Malaysia for this session. Their goal was basically to share and market their world class Finnish education system and related educational products and services, and also gain more insight into the current and future learning trends and needs in Malaysia. Basically, it was an opportunity to learn, network and explore potential educational business/collaboration opportunities with each other.

Though, how come they invited me of all people? I found out during the seminar that one of the Finpro consultants had actually discovered me searching for information about e-learning in Malaysia. I suppose they saw me as a good source to find out more about the current and future e-learning trends in Malaysia. Anyway, whatever reason, I was just happy to be part of it, and make some noise.



READ THIS FIRST!
But before sharing with you some of the things I learned about the world class Finnish education system, I would strongly recommend that you explore Amran Noordins excellent 6-part series, where he compares Singapore and Finlands schooling models (Part 1, Part 2, Part 3, Part 4, Part 5, Part 6), summed up nicely in his diagram below:


In short, Singapore and Finland have become world renowned for their education systems, but interestingly they have achieved their success using quite different approaches (to say it mildly!). To get the juicy details of both, please read Amran Noordins 6-part series mentioned above.



MY LEARNING NOTES

During this one day session of sharing, networking and exploring opportunities, I learned a lot (and scribbled a lot of notes, too) about why Finlands education system is so good (well at least according to them and many others around the world).

The first clash of cultures (Finland and Malaysia) started even before the learning session began. The main representative from the Ministry of Higher Education (MOE) came 30 minutes late, and the seminar could not start before he came.

If you dont know, Finnish people in general are very time conscious, and you should have seen how stressed out they were waiting for the main dude from Malaysia. Since we started 45 minutes late, most of the Finnish presenters swooshed through their presentations, and made a point reminding the audience that they will be on time, and not overuse the time been given. In short, even though they were extremely polite, I could see on their faces and body language that they were rather pissed off with the scheduling being put to shambles due to the initial delay.

Though, I found out later that the MOE representative actually had to attend another meeting earlier in the morning, and was delayed because of that. But, keep this in mind, especially with Finnish people (and Germans, British, Americans, Japanese, etc.):


PUNCTUALITY IS EXTREMELY IMPORTANT!


Yeah, and if you want to present and convince Finnish people, please use research data and findings to back up your ideas and proposals. It was also interesting to compare MOEs presentation about Malaysian education with Dr. Heikkis presentation about the Finnish education system.

While the MOEs presentation talked about vision, mission, and some current student mobility programs (the objective was probably more to market the Malaysian education system, rather than tell the full story), the Finnish counter parts covered basically everything about their education system, including a few centuries, current and future scenarios, and reasons why its education system evolved that way, and the secrets behind its current success. Although, it was comprehensive, it was told in a very constructive and time-efficient manner.


BEING EFFICIENT IS EXTREMELY IMPORTANT!


Based on what I saw, Finnish people strive to be very efficient in whatever they do, and that includes giving presentations. No swimming here and there, just get to the point and solve the problem. We have a lot to learn here, as we often let our emotional feelings and ego take control, and forget about solving the real problem.

If you ask me, I felt most of the presenters lacked a bit in terms of exciting the audience with what they had to offer. In layman terms, they were a bit stiff, monotonous, and perhaps too efficient in delivery (the initial delay is probably one reason). Dont get me wrong, they were very well-rehearsed (like a program), but you need some emotional outbursts and connections to really touch the audience (well, at least me!).

Oops, lets get back on track...



SECRETS TO SUCCESS
What is the secret to Finlands success (5.3+ million citizens only)? NOKIA! Besides that?

Basically, due their tough environment (just look at their neighbors and climate!) and limited natural resources (except for large forest reserves), they have had no choice but to invest in educating their brains (Just like Singapore!).


INVESTING SIGNIFICANTLY IN EDUCATION IS EXTREMELY IMPORTANT!


Here are five reasons, why Finnish people have been, and are successful:
  • Quality education with equal opportunity
  • High level of investments in R&D for technology development
  • Good regulatory framework and efficient public service
  • Open economy: competition has to prevail
  • Social model: social market economy, welfare society

As we are talking about education in this post (and blog), I will limit my observations and reflections to that next. If you want rough notes regarding the rest, click here for more details.

Besides free and universal high-level education from comprehensive school to university (6% of GDP directed to public education), Finland stresses also equal opportunity for all, irrespective of domicile, sex, economic situation or mother tongue. Teachers are required to be trained in dealing with low-achieving students, as well as students with disabilities and learning difficulties.

The fact that education is free, including travel expenses,
welfare services, accommodation, books and other school material, means that students can focus more of their time on learning, rather than all the other distractions that might come with it.

However, besides all the student rights to this and that, students also have three main duties that they must fulfill, which are to attend classes,
obey discipline, and complete their courses and programs. I suppose most education systems will have something like this documented, but in Finland it is strongly emphasized, and it is probably working better there than in most other countries.

They are really proud of their students
PISA (Programme for International Student Assessment) achievements, where they are ranked number one in the world in most categories. To be honest, I had never heard of PISA before this event (Except the Italian one!). How ignorantly ignorant can you get! I am still learning!

Interestingly, a teacher must have a masters degree to teach in Finland, and also have a lifelong learning program mapped out for them. They emphasize a lot on lifelong learning, and it is kind of embedded into the their learning culture.


TEACHER EDUCATION IS EXTREMELY IMPORTANT!


More importantly, the teacher
profession is highly valued in Finland, meaning more people with the right attitude, mindset and skills will apply for such jobs, and in the end you will get better qualified and passionate people educating the future people of the country. I suppose that is why the Norwegian education system (where I studied), especially the schooling system is really crap (hopefully better now!). I remember most of my teachers as miserable creatures, who had failed in what they set out to be in life.

For example, my music teacher really wanted to be a singer (But her voice was horrible!), and due to her failure we students had to suffer. She really hated our guts, too! I had a gym teacher that used to throw his huge key chain after us, every time we pissed him off. He even threw a hammer after one student, but luckily he missed. If you wonder why Norway until today cannot create and innovate globally renowned products and services like the Swedes and Finnish dudes can, I suppose their lack of appreciation, dedication and emphasis on education is one reason for that. But then again, Norway is blessed with all sorts of natural resources (especially oil and gas), and therefore is one of the richest countries in the world. I cant imagine what Norway would be today, without their oil and gas. Lets get back to Finnish education...

In contrast to Singapore (
please read Amran Noordins articles. Links above!), Finland dont rank students or schools, and they dont emphasize on standardized nationwide examinations that drive students, teachers and parents nuts. I suppose Singapores model is good for nurturing a competitive mindset, and encouraging students to work hard (and memorize everything you can think of). However, I believe the side effects are too many, and we need to question whether they are really preparing students for the 20th century, or for the 21st century (now and future)?

I personally believe (based on my shallow understanding) the Finnish education system has managed to infuse discipline, hard work, and competitiveness, but at the same time also infuse the right balance to nurture critical skills required for the 21 century, which include communication, collaboration, creativity (innovativeness), critical thinking, problem solving, digital literacy, flexibility, adaptability, global care/awareness, and emotional intelligence.

In addition, the Finnish education system is rather decentralized and schools are given a degree of freedom (independence) to develop their own curriculum. The problem with having a centralized system and curriculum, is that if you get it wrong, the whole country will suffer. Also, with a top-down model, it is difficult to quickly innovate and spark changes to the curriculum that is needed to deal with the increasingly disruptive learning world that we are experiencing today. However, in a decentralized system, schools can easily change and adapt as they learn, and also they have more freedom to explore and try out new things, without needing to worry about ranking of this and that.

Actually, ranking of schools and students is a disaster (if you ask me), if you really want to encourage universities, colleges, schools, students, and teachers to openly share, learn, discuss, reflect, and collaboratively innovate. It can be done, but it is very difficult because of our internal urge to be the best, or be better than our neighbors. In the world of sports, I can understand it, but for education I believe that might not be the best solution to move forward.

For example, If I want to be higher ranked than you, then probably I would want to keep some of the juicy stuff secret from you. Otherwise, you might overtake me, and if the government is nasty, give me less funds to innovate further. However, if ranking is put aside, we can instead focus on transforming the education system, nurturing dynamic learning clusters, and becoming a learning nation together.

Finally, Finland emphasizes big time on research and development (around 4% of GDP), and have interlinked companies with the Universities to collaborate on new innovations. Whatever they do, their approach is very scientific, which of course includes how they are continuously improving their education systems.

The only thing I felt was really missing from this seminar, was learning more about Finlands e-learning initiatives and success stories, which was not really discussed.



MOVING FORWARD
So, how can we transform our education system right here?

Here are three (3) small suggestions to consider (more will be elaborated in a future post):
  • Focus less on exams, and more on learning.
    Exams should resemble and test what we want them to learn (authentic). Not how much they can memorize. They need to be able to understand and apply what they learn, otherwise what is the point? Group/Individual project-based exams, using well constructed assessment rubrics would be a good start (peer-assessment next!). And let them use all the tools they need to complete the project, because in the real world we would use the tools necessary to solve the problems and challenges we face. Why just give them a pencil/pen and paper (oh, I forget the eraser)? Of course, if it is a memory test, it makes sense :)

  • Focus more on teacher education, and less on centralized content/curriculum.
    You can have the best curriculum in the world, but if your teachers stink, I 99% guarantee you that you will fail. However, if you have a crappy curriculum, and great teachers, I can guarantee you that you will 99% succeed. Because, the great teachers will transform the curriculum and inspire the students to learn. In short, invest in teacher education, hire the best people to educate, and let them innovate the curriculum as they facilitate and learn together with the students.

  • Focus less on investing on flowers and big buildings, and more on equipping educators and students with the learning tools needed to transform the way they learn.
    The Internet is the 21st centurys oxygen for communicating, collaborating, and learning (without it, you or your institution is going to suffocate into ignorance and irrelevance). If you can afford it, spoil the educators and students rotten with learning devices and great Internet access. Provide training online and face-to-face often, exploring with them how they can utilize all these learning tools to transform the way they learn. If you are looking for world class inspiring free learning content, click here for starters. For free learning tools, click here for starters.

Can we do it? Yes, we can! But do we really want to? You decide? If you ask me, my answer would of course be... :)

Read more »

Game Based Learning The 21st Century Learning Appoach

Link to article (Game-Based Learning: How to Delight and Instruct in the 21st Century, By Joel Foreman)
"Herein lies a moral about how videogames are influencing higher education. To learn more about videogames in academe, Joel Foreman sought out the insights of five leading-edge thinkers in the field: James Paul Gee, J. C. Herz, Randy Hinrichs, Marc Prensky, and Ben Sawyer. All five had traveled to San Jose, California, in March 2004 for the Serious Games Summit at the annual Game Developers Conference. They discussed the following six topics:
  • The dysfunctions of conventional instruction
  • The power of simulations
  • The importance of game-based learning communities
  • The reasons videogames promise a better learning future
  • The changes necessary for the new paradigm to take hold
  • The practical steps that colleges/universities and influential academics can take to move institutions down the trail blazed by USC and others.

He spoke with each of the five individually, culled their comments from several hours of recordings, and then combined the comments to simulate the continuity and interaction of a group discussion. He has also asserted some editorial license to eliminate the infelicities and redundancies of speech."

If you are interested in understanding the future of education in 21st century, and how game-based learning might influence it, this article or opinions by these five (5) experts, is certainly something you should read and digest !

Read more »

Sunday, March 1, 2015

Easter Fonts! Fonts on the First!

Since Ive run out of tips for my weekly feature, "Technology Tips Thursday," Ive decided to start a new regular feature on my blog... "Fonts on the First!"

Stop by my blog on the first of every month for a collection of seasonal fonts... 5 which are meant for personal use, and 5 for commercial use!  The first collection is Easter Fonts!

Download each of these fonts here:

Personal Use
KG Hippity Hop
JI Bunny Caps
Bizzy Bunny
RM Egg
Hasi

Commercial Use
Easter Sunrise
Easter Egg
Bunnywunny
Funny Bunny
ADFB Easter Egg

Be sure to stop by the first of next month to see more seasonal fonts!


For information on how to install these fonts, check out my step by step tutorial here:
 

For information on how to spruce up these fonts in PowerPoint, check out this post:
Read more »

The Virtual Drummer School One word Amazing!

Link to the Virtual Drummer School (Director & Creator: Salvador Niebla)
The Virtual Drummer School is an online musical school specialized in Drums & Percussion. Over the last three years, they have achieved the following:
  • More than 17,000 registered students
  • Some 40,000 visits per month from 120 countries

Their schools pool of teachers includes musicians like: Peter Erskine, Dave Weckl, Giovanni Hidalgo, Bill Bruford, Gregg Bissonette Ignacio Berroa, etc...considered to be the best drummers of the world.

All the experience accumulated over these last years led them to develop a new prototype of website for online education, very innovative with various tools for the students e-learning and that they would like to implement over the next months.

Read more »

Classtools net Create Educational Flash Games On The Fly

URL: http://www.classtools.net/

"Create educational games, activities and diagrams in a Flash! Host them on your own blog, website or intranet! ClassTools.net is a FREE website allowing teachers and students to create interactive Flash diagrams for learning and revising material."

Learning while having fun Playing Games!
This is an online educational game creator that you can have a lot of fun with developing interactive games, activities and diagrams on-the-fly for your students (or friends). Currently, it has around 15 different templates to play around with, but I wont be surprised if this number is increased into a triple digit soon (it also invites others to share templates with them) . ClassTools.net is a really easy-to-learn and use educational game creator, and now it even enables you to create links to your games direct from your blog or website. Although, some of the templates perhaps need a face lift, it is certainly a great start and it is free (for crying out loud!). Here is an example created by Lauren Eno (Thanks in advance for sharing!).

click here for full screen version

Have fun creating Flash-based educational games without requiring a programmer or a graphic designer :)

Read more »

Saturday, February 28, 2015

The 5 Day Learning Adventure at Jazan University!


Below, are all the resources for the talks and workshops facilitated over a 5-day period (9 - 13 Feb) at Jazan University in Saudi Arabia.

*Click on the Links to access all the resources shared for the respective workshops highlighted below.

DAY 1


DNA of a 21st Century Educator Simplified! from Zaid Alsagoff

DNA of a 21st Century Educator 
This talk explores some of the ingredients top educators in the 21st century have, and how we can learn from them, and reinvent ourselves to reach our true potential as an educator.

Learning Outcomes
  • Discuss the attributes of a 21st Century Educator.
  • Explore the latest trends and methods in e-learning.

DAY 2


iPads for Learning
This workshop will awaken and empower participants on how they can use iPads more strategically and effectively for learning, sharing, communicating, collaborating, creating and publishing their e-learning content and activities using a range of essential applications. It will be interactive, engaging, fun, and you will learn a lot of tips on how to use mobile devices to engage your students in and beyond the classroom.

Learning Outcomes
  • Download and annotate presentations/articles/notes.
  • Create and publish rapid e-learning content.
  • Use a variety of apps to engage students in and beyond the classroom.


DAY 3


Empowering Personal Learning Environments (PLE)

This introduction, explores the idea of using a variety of learning tools to build Personal Learning Environments (PLEs) to empower lifelong, collaborative and reflective learning.

Learning Outcomes
  • Discuss how social media can be used for learning and teaching.



Blogging & Wikis for Learning

Workshop Materials:
  • Blogging for Learning 
  • Wikis for Learning
This session explores a variety of ways to use blog and wikis for learning and teaching. Participants will be required to create a blog, wiki, and conceptualize strategies to make them work for learning and teaching.

Learning Outcomes
  • Discuss how to use blogs to facilitate learning and teaching.
  • Set up your own blog using Google Blogger.
  • Discuss how to use wikis to facilitate collaborative online learning and teaching.
  • Use Google Docs for collaborative document development.
  • Use Google Sites for collaborative website development.


DAY 4


Facebook & Twitter for Learning
  • JazanU Facebook Group

Workshop Materials:
  • Facebook for Learning 
  • Twitter for Learning
In this workshop, we will explore how we can use Facebook and Twitter to facilitate learning and teaching. 

Learning Outcomes
  • Use Facebook and Twitter to facilitate learning and teaching.
  • Create Facebook Groups to engage students and conduct assignments.
  • Create unique Twitter #hashtags for programmes, courses and events.
  • Use Twitter apps to engage students in the classroom (and beyond).

DAY 5


Discovering & Creating OER
This workshop will empower you with the necessary skills to find, reuse, remix and create Open Educational Resources (OER) for your courses. We will explore and discuss together the concept of OER, Massive Open Online Courses (MOOCs), Creative Commons (CC), business models, and variety of OpenCourseWare (OCW) case studies and content development tools.

Learning Outcomes
  • Discuss the benefits and challenges of OER.
  • Explore Creative Commons as an alternative to Copyright.
  • Find OER and OCW using a variety of search tools.
  • Identify a variety of web 2.0 and Social Media tools to develop OER.
  • Conceptualize an OER strategy for your institution.

Have fun and attribute (to me) whatever you reuse/remix/repurpose :)
    Read more »

    Friday, February 27, 2015

    DE Tools Of The Trade John Goldsmith

    • DE Tools Of The Trade

    WHAT?
    DE Tools of the Trade is a web site by and for K-12 educators who teach partly or completely online. This simple but useful site contains a compilation of links and resources that may be useful to any online educator.

    Although, its target audience is K-12 educators, its collection of online links, resources and tools can also be useful to any educator, whether he or she is in higher education, the corporate sector, or involved with any form of education.

    MASTERMIND?
    John Goldsmith

    JUICE?
    John Goldsmiths site powered by Wordpress is a great example of a humble individual going the extra mile to share his experiences and discoveries, which can surely benefit people out there who are rather new to online education, and fed up of seeing massive lists that do not filter out the juice from the garbage. As John Goldsmith says, "the site and the information it contains is not meant to be extensive or comprehensive (Source)." In other words, he has filtered out the juice from his own experience and expertise to compile a great list of online resources, which can be accessed by intuitive categories such as:

    • Blogs & Wikis - This section contains information on setting up your own blog, wiki, pod/web cast and web site.
    • ClipArt - This section contains link and descriptions of site with pictures and/or clipart that is available free or under a Creative Commons licence.
    • Graphic Tools - This section contains downloadable and web applications for creating and editing photos, pictures, images and clip art.
    • Learning Objects - This section contains a list of websites with learning objects, course content, tutorials, video clips or other resources which may be of use to an online educator.
    • Survey/Polling Tools - This section contains links to websites which contain free applications and resources for setting up an online survey of poll.

    Also, each compiled resource is accompanied with some concise and useful information (or metadata) about it, answering basic questions that we would like to know such as What, Where, Cost, and a short description. It might not pass the Dublin Core standard, but it is more than good enough for me.

    Also, the interface design is quite pleasant, and finally I love the sites cool mascot (graphic, logo or whatever it is!). I suppose Bob the Builder would like to get his hands on this toolbox. As the site is rather new (since October if I am not mistaken!), I believe we can expect some more sparks and juice as it evolves :)

    Read more »

    Educating the Net Generation Free EDUCAUSE ebook

    Link to the new EDUCAUSE ebook
    "The Net Generation has grown up with information technology. The aptitudes, attitudes, expectations, and learning styles of Net Gen students reflect the environment in which they were raised?one that is decidedly different from that which existed when faculty and administrators were growing up.

    This collection explores the Net Gen and the implications for institutions in areas such as teaching, service, learning space design, faculty development, and curriculum. Contributions by educators and students are included..."
    Click here to download the entire book (4,45 MB PDF). To download individual chapters visit the EDUCAUSE site.
    Read more »

    Thursday, February 26, 2015

    The Straight Dope Fighting Ignorance Since 1973 Cecil Adams

    • Link to The Straight Dope
    • Wikipedia - The Straight Dope & Cecil Adams

    CECIL ADAMS?
    "Cecil Adams is the worlds most intelligent human being. We know this because: (1) he knows everything, and (2) he is never wrong. How do we know that Cecil knows everything and is never wrong? Because he said so, and he would never lie to us ... more"

    It sounds as convincing as Stone Colds famous bark (And thats the bottom line! Cause Stone Cold said so!)!

    According to Wikipedia, "Cecil Adams is a name, generally assumed to be a pseudonym, which designates the unknown author or authors of The Straight Dope..."

    THE STRAIGHT DOPE?
    The Straight Dope is a popular question-and-answer newspaper column published in the Chicago Reader (an alternative weekly), syndicated in thirty newspapers in the United States and Canada, and available online. The column derives its name from the American idiom meaning roughly "the honest truth" and covers practically any subject. History, science, old wives tales, urban legends and inventions are among the most frequently recurring topics. The column appears under the tagline "FIGHTING IGNORANCE SINCE 1973 (ITS TAKING LONGER THAN WE THOUGHT) (Source)."

    "Billed as the "Worlds Smartest Human Being", Cecil Adams responds in this popular column to often unusual inquiries with abrasive humor (often directed against the questioner), and at times exhaustive research into obscure and arcane issues, urban legends, and the like. On more than one occasion, Cecil has been forced to retract an answer or at least modify it substantially when confronted by "the teeming millions", which he does in a gentlemanly and good-humored manner, often claiming overwork and staff shortages" ...more

    JUICE?
    Whether he is the worlds most intelligent (or funniest) human being or not, is certainly questionable, but I believe his columns provides us with a wonderful opportunity to engage our reflective thinking and tickle our creative minds to ask questions that we often take for granted, or dont bother figuring out (Right Brain activity!). You never know, such unusual inquiries (Think-out-of-the-class!) could actually spark the next great idea, invention or innovation. Here are some of these unusual questions answered by Cecil Adams that might tickle you to explore The Straight Dope site further:

    • Why are races always run in a counterclockwise direction?
    • Does smoking have any health benefits?
    • If Pluto is a dog, what is Goofy?
    • Whats the best way to kill cockroaches?
    • Why do we sleep?

    Also, check out the sites active message boards and FAQs (Really funny!). Finally, if you want to ask him a question, click here!

    Actually, what I really like about this resource is not Cecil Adams answers, but all the unusual and funny questions asked by people. Some of these questions (creatively adapted!) are great to loosen up the students and get them ready for more serious discussions related to the subject. Hey, why dont we ask the so called boring questions in a more creative manner. Add some spice!

    Cecil Adams, if you are really the "Worlds Smartest Human Being!", I believe you should be able to discover this blog, and answer me this simple, but important question:

    Why Do Monkeys Eat Bananas?

    Read more »

    Wednesday, February 25, 2015

    iTunes U Services For ALL! Join the itunesuwish

    [iTunes+U.JPG]

    Join the #itunesuwish twitter stream for change!



    WHAT?
    "...iTunes U is a free service available to qualifying two- and four-year accredited, degree-granting, public or private colleges and universities in the United States, Australia, Austria, Belgium, Canada, Denmark, Finland, France, Germany, Greece, Ireland, Italy, Luxembourg, Netherlands, New Zealand, Norway, Portugal, Spain, Sweden, Switzerland, and United Kingdom. Universities and Colleges must enter into an iTunes U Service Agreement before being eligible to use the iTunes U service. Apple reserves the right to determine eligibility. (Source)"



    WHAT ABOUT US?
    Yes, the rest of the world!!!! Do, I need to mention another 175 countries. Why should applying for iTunes U services be discriminated based on country. It is simply insulting!!!! I took it with a pinch of insult in 2009 (explored possibilities), and hoped that eventually iTunes would open up their free services to Universities beyond those 21 countries, but until today (June 2010), nothing seem to have changed (please correct me, if I am wrong!).

    But lets be positive! We are talking about iTunes U and the legend Steve Jobs here, so lets hope they will change for the better, and really carry out the democratization of expertise and learning beyond this little world of 21.


    Stephen Downes, thanks for sharing...


    #itunesuwish

    To help them realize our frustration and learning needs (to share, too!), lets spread our wishes using social media (Blogs, Twitter, Facebook, YouTube, etc.) to change iTunes U insulting application requirements based on country. Perhaps our crowd intelligence and initiative can speed up the process for enabling...

    iTunes U services FREE for ALL!

    Lets make a difference, join the #itunesuwish for change :)


    Latest News
    • 06/16/2010 - iTunes U Distribution Limited (Open Education News)
    • 06/14/2010 - iTunes U Services For ALL! Join the #itunesuwish... (OLDaily, Stephen Downes)



    Read more »

    Top 100 Learning Tools on Planet Earth! Join the DREAM MISSION!


    "A LEARNING TOOL is defined as any software or online tool or service that you use either for your own personal or professional learning, for teaching or training, or for creating e-learning solutions."
    - Jane Hart 

    (Alternative Top 100 Tools for Learning by Learning Professionals only) 


    3 BIG QUESTIONS

    1. What are the BEST (e-)learning tools for learning and teaching?
    2. Who are USING them for learning and teaching?
    3. Who are the EXPERTS in using them?  

    DREAM MISSION!

    Here is the MISSION VIDEO to get you started:




    Not only will you discover the top 100+ learning tools in this list, you will also discover who are the experts in using them. Listly is being used to empower these 3 big questions to the world of learning.

    Secret hint? Connect with the experts, and why not invite them to train you and your University/School/Corporation staff further (online or Face-to-face), if they are really awesome!


    WARNING! 

    We provide no guarantee that those who claim to be experts are really experts. So, please check their online work (if none, forget them immediately!), and challenge any proclaimed experts with some extremely tough questions and tasks, before inviting them for anything.


    100+ LEARNING TOOLS

    Please participate in this awesome mission by voting for your favorite learning tools and add the ones that you think are missing. While doing so, please also share which tools you are using, and whether you are an expert in using them.


    Top 100+ Learning Tools on Planet Earth!
    View more lists from Zaid Ali Alsagoff

    Read more »

    Wednesday, February 11, 2015

    Pirates of the Caribbean at worlds end PC Game Full version


    Review:
    Pirates of the Caribbean: At Worlds End for the Nintendo DS is an action adventure game patterned after the film of the same name. The game lets you control three of the main protagonists as you jump and stab your way through 30-some levels that loosely follow the progression of the movie. Fans of the movie franchise will appreciate how the 3D graphics bring places like The Black Pearl and Davy Jones Locker to life, and also how the games designers have taken care to concoct a balanced mix of sword fighting, swashbuckling acrobatics, and stylus-based minigames. Furthermore, anyone that was disappointed by the DS version of Dead Mans Chest should be pleased to learn that At Worlds End looks nicer and is more involved than that earlier game was.

    Youll have your choice of Elizabeth Swann and Will Turner during the first dozen levels, but a trip to Davy Jones Locker eventually makes Captain Jack Sparrow available for the remainder. The games story is generally faithful to the films, although some events have been shuffled and some new plot points were created to cram more traveling and dueling into the overall journey. While the graphics are rendered in 3D, the action is 2D. The camera usually follows your characters movements from left to right like a typical 2D side-scroller, but the camera perspective will occasionally switch to a behind-the-back view when you climb ladders or walk deeper into the background.

    Getting through each level involves a fair amount of acrobatics in the form of jumping between platforms, climbing ladders, sidling across overhangs, and swinging between ropes. Youll also frequently make use of helpful items, such as a bamboo pole, torch, and grappling hook. Breaking open crates and barrels will give you coins, health refills, and different special weapons that you can unleash on enemies. As you make your way through a level, youll encounter pirates and other armed foes that you can do battle with. By pushing the buttons, you can make your character block, jump, and chain together attacks using a sword. Before an enemy lunges in with an attack, an icon will appear indicating that you can perform a stylish counterstrike by tapping the X button. Solitary foes can be dealt with by repeatedly mashing the attack button, but fights against two or three opponents require a strategic mix of blocks and counterstrikes. Youll "die" if you run out of health or fall into the water. On the whole, the game isnt all that challenging. There are some tricky jump sequences and hectic battles here and there, but checkpoints are plentiful and you can continue as often as you need to. Read more

    System Requirements:
    Windows XP/Vista
    MINIMUM
    Pentium 4 or AMD Athlon 1.5GHz Processor
    256MB RAM
    1.4GB Hard Disk Space
    64MB DirectX compatible 3D Video Card with Hardware T&L
    DirectX compatible Sound Card
    DirectX 9.0c
    DVD-ROM Drive
    RECOMMENDED
    Pentium 4 or AMD Athlon 1.8GHz Processor
    512MB RAM
    128MB 3D Video Card

    Screen Shots: Click on the image to view large screen
    pic namepic namepic name

    Download

    click to begin

    180 MB

    I hope you like it......!
    Read more »