- Who chooses the time of the session for the student? who chooses the content for the student? The decision maker is not the student. The success of the learning program lies in student’s acceptance to the concept and content delivery process.
- The student would pay money, but not attend the class due to his other engagement, playing cricket. used to invigilation, without invigilation any digital education is tough. Who is there to monitor? When parent pays money for digital learning, he expects that experience engages the student.
- How to engage student on regular basis? you need creative and innovative hooks for the student to feel some non monetary award for the time they engage with the solution? May be this is why we try to achieve by converting all the subject in to games and toys that show the actual application of every scientific law.
- The parent has pushed the learning by subscribing to e-learning or buying m-learning. What is the role of the parent beyond payment? You take the responsibility to include limited display not to distract the student, but be the reason to complete the course.
- Though mature organizations want to reduce the learning modules from 25 minutes to 10 minutes to better engage with learners. How much research has gone by indian teachers in this area? They feel it is easier to have a single 60 minute video rather than 10 6-minute video. Who is helping them to prepare better videos. Today they go to expensive studio to do the recording.
- How would the behavior of sharing work in Indian sense in the process of transition from books to mobiles and also laptops today. What happens when the student buys tablet this year? will he want to give to his junior the next year? Using second hand book is normal procedure in India. He uses money for movies across holidays. Once he buys content, he has right to what he has purchased.
- Is it possible to innovate every year to make sure that next year students come to us instead of buying from his senior. Are the content providers prepared to innovate? Are we both ready to repeat this process very year with the fast changing technology and realizing sale price?
Android provides player that helps in playing video and audio files. The player can connect to URL and play http stream of music. The player can also play any local file provided the file is available in it entire form to load in to player. Why Google is not interested to allow reading stream of audio and passing the stream to android?
I find J2ME platform provided a player that allows streaming from input stream and did not distinguish whether the input stream was local or on the internet. Does this mean that Android expect users to make use of media from internet only? We listened to songs from local cassette and then CD player and then Ipod, Ipad. I found it cost effective and easy to carry device to remote locations where network is not available. So there is no straight forward approach to play protected media content from local storage.
There are multiple solutions that are similar to following procedures. Encrypt the media file to prevent the user from being able to just copy it and use it. Then obfuscate the code that decodes/plays the encrypted file.
- Encrypt media content and decrypt same in user storage space in android which is private. There is only 10 MB and hence long audios and videos cannot be secure and played.
- Simulate http stream using local socket
- Simulate http stream using local embedded web server.
- Roll your own streaming audio utility for Android’s MediaPlayer. We will buffer 10 seconds of audio and start playing that audio while the rest of the audio loads in the background. Here the streamed audio is stored locally which defeats the goal..
Effectively we need to invest a good amount of effort to play locally available protected audio and video content to work.
As there is no clear solution, MobiSir has build a solution that provides a “mobile content distribution platform”, where content publishers would be able to seamlessly publish content and “securely” distribute content with subscribers on any java based mobile device. The solution is getting tested for release. MobiSir would be able to provide the content solution customized and branded for each of our customers. With mobiSir, we call upon content publishers to focus and create and monetize content and leave the worry of delivering and protecting the content
Found an interesting article and marking the points for my future reference.
- Can You Do the Task? – Strengths
- Will You Love the Task? -Motivation
- Can people Tolerate Working With You in the Task? – Fit
Found the following links interesting
Mobiles seem to have a lot of features and you see people can benefit from them and are building applications. Do the common man see features of the mobile as you, a techie?
- Are they aware of how to make use of input devices like PC? – keys, navipad, qwerty etc..
- How to make use of memory card, data cable based synchronization, infra-red, blue tooth,USB connector, USB keyboard etc? Let us remind that these vary from device to device.
- How to understand how the file folders are organized ? Do they know how the files stored are organized in mobile and how to access your drive via a computer?
- Where to find an application, install and uninstall, configure device settings etc.
- How to perform common interactivity actions like tabs, scrolling, using sliders, collapsable lists?
- What is mobile browser? How does it work? What is WAP Browser? What is a data connection? What are the costs involved in consuming data? How can you minimize them? How to use wifi and data plan? Is 5kb bigger than 5MB?
- Understanding how to copy, duplicate or move data around. Saving something somewhere then knowing how to find it again. These are device and O/S dependant
- Everyone says that mobile helps in self-reliance and personalization. Do you know how to use the features that help in above? How to put the device on silent mode when you are learning and put on regular mode while travelling? How to make sure that your personal data is safe
- How to make use of two finger touch and three finger touch? How to make use of back button in smart-phone? When I press back button, the screen seems to go away.
Book marking what I found on the web. A rich mobile Internet experience includes the following attributes:
Ubiquity: How widely available is the media player that will be required for the viewer to see the application on the device display?
Access: How widely available is the wireless network that will distribute the mobile content?
Richness: Do pages load quickly? Do animations play in a smooth and seamless manner? Does the streaming media (media that is consumed—read, heard, viewed—while it is being delivered) flow at a sufficiently rapid rate?
Efficiency: How large is the client that will be required to make use of a particular media player? How fast will the application load and play?
Flexibility: Will the application be viewable on a variety of devices? Can content designed for use with one kind of device or operating system be played on other devices with some expectation of comparable quality?
Security: Is the interactive mobile device protected from worms and viruses? Is the shared content protected from being intercepted by unintended recipients?
Reliability: Will content be displayed in a consistent manner, regardless of the browser, device, and screen size?
Interactivity:Does the application allow users to interact freely with the display and the content?
I have used public transport in Bangalore for the last 4 years and compiling my observations
1. Bu usage has increased in Bangalore compared to the situation 4 years old.The 500 series buses are jam packed in work areas. This is positive effect.
2. The number of cars with one passenger seems to be increasing in leaps and bounds. This is not a good news.
3. Transit from one bus to another bus is a cumbersome process. The flyovers are designed with a perception that bus passengers can walk a long distance but people driving should be able to be more comfortable. For example, the bus leaving ITPL and reaching silk board would drop passengers on this side of silk board flyover. The passengers need to cross the flyover and then cross the silk board entrance to board the next bus. This makes me think should I have my own vehicle. If this is my case, what about elderly people or families with children.
4. I happened to visit a tech park which is situated on the Hosur high way after the elevated high way to electronic city starts,. There was no footpath for miles and kilometers for me to get down on one side and cross the road. There was no subways even. On needs to go all along one side and needs to walk all along the other side and hence doubling the distance. Why are pedestrians made to walk a long distance
5. There is a flyover at agara. Are the flyovers build for minority population? The buses are still having the traffic signal and the bus commuters spends a large time. I find that the flyover is not getting used to its capacity and why was a flyover build for small number of vehicles.
I do not pay any taxes for charges paid to cloud computing service or purchasing a mobile application in android platform. I learn that all services in India are taxable. How about cloud services or mobile application service?
Cloud Computing allows Governments and Companies to access IT resources as a Service over the Internet. One is not required to invest in the IT infrastructure, Software and Services upfront. The software and data is stored on the servers of the Cloud Computing Service provider.
Taxation of cloud services is complex and is subject to the fact where is the Cloud located. Across the world, the practice is to tax where it is used, whereas in some cases,it is taxed where the service is offered( location of the server) or it is taxed where the office of the cloud computing provider is located. If companies are accessing Cloud Services from outside India, can the Indian Government tax it?
I might need to understand International law and Taxation domain and this is going above my head/ knowledge.
Governments depend on tax revenues on goods sold within their borders. How will the Indian government like to treat the cloud? They would like to follow an approach similar to off-the-shelf software purchases, which are of course taxed. How will the cloud computing company project this? They would claim that Cloud computing amounts to providing Software as a Service which will be governed by the local laws where the cloud computing company is located or where their servers are. These locations are mostly in the US where these are non taxable. As Infrastructure, Platform and Storage is provided as a service on the cloud model, this is going above my head/ knowledge.
Now I am in confused state.. On one hand as Indian citizen, I do not want Indian government to lose the tax revenues. At the same time, I would like Indian companies to make use of cloud computing and save costs,be leaner and more efficient. if Indian company wants to offer cloud computing services,this company would be under Indian tax jurisdiction and the cost would become charges + taxes. Can this company compete against the existing ones?
Are the above leading to the reason to my own question,”why the cloud computing providers like amazon and azure do not have cloud data centers in India?”. For both these providers, I was able to use my Indian credit card.
Trying to build a product at my startup, I see that we have missed our deadlines very badly.
When I looked back for the root cause, the biggest challenge seems to be me. I need to unlearn what I have learnt earlier.
In the past, the client comes plans how to position the product and came with basic features for a product and I worked hard and made the requirements complete asking the right questions. Today I still ask questions, but there is no one to provide answers. I need to start answering my own questions.
In the past, i delivered the product at intermediate milestones and the client worked and provided me the received feedback and proposed changes. I worked my team and implemented changes in short time based on my client priority. Today I need to get feedback between milestones and for every feedback decide whether to change or not. I need to prioritize my tasks and adhere to my priorities and changes them as and when needed.
In the past the client plans go on “Go to market” strategy and I executed the technical part of strategy well. The client planned the product documents and the marketing documents well Today I need to build the artifacts and plan for “Go to market”, execute the same, change based on the market feedback and present to the market at that too quick. though this is not easy, i need to start on this front.
In the past, I worked with USA client, there is no meeting wit your client during the day and you can work without interference during the day and take the calls during night. Having Indian customers, you need to meet and respond to them during the day and you need to complete work during the day. We see at our startup one person is able to perform only one of them and not both. This makes me go nuts.
This is a two step process. Authoring starts with design and create step, not directly dependent of technology. the package and deliver step aims to customize and transform content for the supported device targets and device technologies.
Design and create step shall be more independent of technology. Authoring is a team process. One should be able to work together and collaborate with other authors creating content anywhere and any time. The content needs to be stored online and should be safe guarded by our version system, to ensure that no work is lost, no matter what. One should be able to PC or tablet to design the content. The existing browser models might continue to work for content creation.
- Arrive at templates to build content suited for mobile: One can plan for templates that are suited to working in mobile based on usability and personalization and also available as templates for the author to use. These templates should be available out of the box, no programming required. The templates need to support the screen sizes/resolution supported by mobiles devices. The images and content should be transformed in to multiple forms to make effective use of the real estate in target device. One should be able to transform the content for new devices too.
- For creation of text content, there should be a way to support learning content in multiple languages. For creation of audio and video content, there should be mechanism to record audio and video in optimal bit rate so that the quality of the content to listener is good and at the same time does not choke the internet bandwidth.
- Enable “what you see is what you get” for the author:. To complete the creation process, it would be nice for author to see on his screen how the learning content looks exactly as the learner will see it after publishing. It is truly “what you see is what you get”. This gives great advantages for the author. There should be hardly no trouble to publish the same course for a different interface and look and feel. Easy to use and easy to reuse!
- Authoring is a team process. One shall have a very simple powerful way of managing your tasks. For example, when you are done with your task you can mark the task as ‘processed’. You can add comments and comments can be for your own use or for others. All comments can carry a status (Not processed, In process, Processed) and can be edited and deleted. We need to have a roles and rights system to ensure that everybody only has the functionality they need.
Package and Deliver step deals with the challenge of how to package the content to have a streamlined delivery mechanism. For example, one can store local contents in Sqlite in both android phones and iphones. The mechanism to package the content is driven by the model to deliver the content to the mobile.
- Follow a browser based model. This would be best suited for companies that have already existing e-learning platform. Here the device would run browser and the content is consumed using the browser calls. There is no content stored on the device and is downloaded on navigation across webpages. One needs to think of the internet usage charge for the end user to download the same learning content multiple times and the impact of network quality on the learning experience.
- Follow a application model: package the content in to applications that can be installed on the mobile devices. This model becomes cumbersome to handle on long term as the number of applications increase on the device. Students might need to have download similar applications multiple times for the sake of the content. This model is supported by the android and apple market places.
- Follow a hybrid model: allow the application to be downloaded to the mobile device. The application shall be able to download the content on demand and then the end user can make use of the content multiple times on device without any need to download the content again. This model is not supported directly by the app stores. One needs to build something like a Content Store that would enable the functioning of the model.
Content Store demands more time and effort. Content store can be build with two components, content publish component on the web and the store subscribe component on the mobile. The content is packaged in to logical units that can be downloaded to the device. The logical units shall be made available on a price or free basis and are downloaded as tracked atomic operation to the mobile device. The mobile application already has in-build intelligence to manage the downloaded content and present the same for consumption on the mobile device. You can make use of embedded web browser component to navigate through a maze of html page, downloaded as logical unit. Content store adds on to the capability of the mobile application to download the new content at the same instant, the content is packaged and approved on the website and made available for consumption. .
I have been helping my QA team to write test cases for testing the mobile application. I see that there are generic test cases to be tested for any native application.some of the scenarios are captured here.
1. Install of the application
2. Un-install of the application: Are all the files created by the application deleted?
3. Network Issues: In our office, we have places where the network connectivity is best on the mobile and area where the connectivity is worse. Though we cannot help this, what happens when a data download is initiated and the user moves from the best connectivity area to the worst and vice-versa? I find my tester get frustrated with this testing and i am afraid that this can lead errors to slip.
4. Voice Call Handling: What happens to the timer when there is a sudden call and user decides to take the call? This is very important when one is testing audio application. Can the user resume the audio from where the audio was interrupted due to the call? if there is data download operation, running in the background, will it be affected by the voice call. Some of the above scenarios also apply for receiving SMS in the mobile.
5. Verify that application logo comes properly. some times i find developers using the same image for different applications and if user installs it is not good for the user to select the application. i also ask for the version of the application to be mentioned to validate the same during testing.
6. Which server is the application connected? The application connects to server on the cloud, and the challenge is to determine at runtime where the mobile application connects to local development server or staging server on cloud or the production server. Though it is easier to display on the mobile, does it make sense for the end user and can it be displayed? Sometimes. i am going to build a debug and release config file to determine what gets displayed.
7. Application Start/ Restart: i would expect the application must not take more than 25s to start.
8. Exit application: Though we all think running application is challenge, some times exiting application is night mare. The commands in display are not displayed and the user enters a zombie state. Effectively the user should be able to exit the application in every form or activity and from any point or work flow of the application.
9. Low memory: We find that our application needs more runtime memory than available in the device and the application stops at the launch step. Though i am not happy that my app could not run on user’s mobile, i am happy that my application did not hang or interrupt the mobile operations. Same is the need for applications to check whether there is sufficient memory before the application initiates download of files.
10.Data Download: How to make sure that the data is downloaded in its full extent to be used by the application? Some times due to network issues, the complete file might not be downloaded and the application needs to handle this gracefully.
11. Mobile Storage: if your application is J2ME based and if you make use of record store, then you need to test the stability of application by removing the battery.I found scenario where RMS(record store) of the application was totally corrupted when application restarted after reinserting the battery. Can your application still go forward? May be the application needs to detect the corruption and ask the user to reinstall the application?