You are on page 1of 12
University of Sargodha BS 7" Term Exam 2019 Subject: Computer Science Paper: Mobile Application Development (CS-4547) Time Allowed: 2:30 Hours Maximum Marks: 80 Objective Part Compulsory QI. Attempt all parts and each require answer 2 —3 lines (16*2=32) i, What difference between the NET Framework 2.0 and .NET Compact Framework 2.0? The .NET Compact Framework is a compatible subset of the full NET Framework. To suit the constrained nature of the devices on which it operates, the NET Compact Framework implements approximately 30 percent of the classes and methods of the full framework. The full NET Framework has a minimum footprint of around 40 megabytes (MB), which is clearly inappropriate for mobile devices that typically have storage capacity in the range’32/MB to 128 MB. Classes are excluded from the .NET Compact Framework for two main reasons: ‘They expose Windows system services available on desktop versions of Windows but not in Windows CE. For example, ASP.NET classes, which require Microsoft Internet Information(Server, (lis) in the underlying operating system services, arc excluded from the NET Compact Framework. They are too large in footprint or too computationally expensive to implement, and alternatives exist. A major design goal for the NET Compact Framework is to keep the footprint as small as possibléand tofimit demands on the CPU and hence battery power. Consequently, the .NET Compact Framework excludes functionality such as Remoting and Extensible Stylesheet Language Transformations (XSLT). ii, What is DotNet framework? .NET Framework is a Software development framework for building and running applications on Windows. .NET Framework is part of the .NET platform, a collection of téchniologies for building appsfor Linux, macOS, Windows, iOS, Android, and more. .NET is aldevéloper platform made up of tools, programming languages, and libraries for building many different types of applications, iii, What is the role of CLR? CLR (Common Language Runtime) is abheart of Dot Net Framework. It is a core runtime environment of .NET Framework for executing applications. The\main function of Common Language Runtime (CLR) is to convert the ‘Managed Code into native code and then execute the Program. It acts as a layer between Operating Systems and the applications written in .Net languages. CLR handles the execution of code and provides usefullServices for the implementation of the program. In addition to executing, code, CLR provides services such as memory management, thread management, security management, code verification, compilation, and other system services. iv. Which database is used for Microsoft Mobiles? srosoft’s SQL Server Compact databasesjare used for Microsoft Mobiles. y. What is role of ToString() Method? ‘ToString is the major formatting method in the .NET Framework. It converts an object to its string representation so that itis suitable for display. It converts the object to string data type. vi. What is purpose of Data Set class? DataSet contains DataTableCollection and their DataRelationCollection. It represents a complete set of data including the tables that contain, order, and constrain the data, as well as the relationships between the tables. vii, What is purpose of SqlCeCommand? SqlCeCommand is a specialized command that can be used to talk to the compact edition of the SQL Server (SQL Server Compact). 1 visit ‘Shahab. blogspot.com for more. viii, What is Serialization? Serialization is the process of converting an object into a stream of bytes to store the object or transmit it to memory, a database, or a file. Its main purpose is to save the state of an object in order to be able to recreate it when needed, The reverse process is called deserialization ix. What is socket programming? Socket programming is a way of connecting two nodes on a network to communicate with each other. Basically, itis a one-way Client and Server setup where a Client connects, sends messages to the server and the server shows them Using socket connection. One socket (node) listens on a particular port at an IP, while other socket reaches out to the other to form a connection. Server forms the listener socket while the client reaches out to the server. x. What are types of assemblies in Dot Net? ‘Assembly is unit of deployment like EXE or a DLL. It is completely self-describing and is a reusable) version able, self- describing deployment unit for types and resources it is the primary building block of a LNET’application. Assemblies provide the infrastructure to allow the runtime to fully understand the contents of an application and to enforce the versioning and dependency rules defined by the application. In .Net 3 types of Assemblies are available: 1. Private Assemblies: Private Assemblies are designed to be used by one application and must réside in that application's directory or subdirectory. 2. Shared Assemblies: Microsoft offers the shared assembly for/those components that must be distributed. It centered around two principles. Firstly, called side-by-side execution, allowsthe CLR to house'multiple versions of the same component on a single machine. Secondly, termedibinding, ensuresythat clients obtain the version of the component they expect. 3. Satellite Assembly: A satellite A8sembly is defined as an assembly With resourcés only, no executable code. xi, Which method is used to\start a thread in Dot Net? Thread. start ()) is used to start the thread in dotnet: xii. What is IIS? Internet Information Services (IIS) is @ flexible, general-purpose web server from Microsoft that runs on Windows systems to serve requested HTML pages or files) An IIS web server accepts requests from remote client computers and returns the appropriate response. This basic functlonality allows web servers to share and deliver Information across local area networks (LAN), such as corporatelintranets, andiwide area networks (WAN), such as the internet. xiii, What is purpose of «dll? DLL stand for Dynamic Link Library, file format system which is used for holding multiple codes and procedures for Windows programs these program files Were éréated in the DLL so we can say that multiple programs could use their information at the same time, aiding memory conservation xiv. What is system namespace? It contains fundamental classes and base classes that define commonly-used value and reference data types, events and event handlers, interfaces, attributes, and processing exceptions. xv. Why we need socket programming? Sockets are interior endpoints built for sending and receiving data. Whereas, Socket programs are used to communicate between various processes usually running on different systems. It is mostly used to create a client- server environment. The socket programming will provide the ability of the implement in analytics, streaming in binary, document collaboration, and so on. 2 visit ‘Shahab. blogspot.com for more. xvi, What is a web service? ‘The term Web service (WS) is either: ‘* a service offered by an electronic device to another electronic device, communicating with each other via the World Wide Web, or ‘* aserver running on a computer device, listening for requests at a particular port over a network, serving web documents (HTML, JSON, XML, images). Subjective Part (4*12) Q2. Write a note on DirectX 3D? Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to! multimedia, especially game programming and video, on Microsoft platforms. Originally, theynames of these,APIs all began with "Direct", such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound and)so forth. The name DirectX was coined as a shorthand term for all of these APIs (the X standing in for the particular APhnames) and sadn became the name of the collection. When Microsoft later set out to develop a gaming console, the Xwas used as the basis of the name Xbox to indicate that the console was based on DirectX technology. Direct3D is a graphics application programming interface (API) for Microsoft, Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications wher®performance is important, such as games. Direct3D uses hardware acceleration if it is available on the graphi¢S card, allowing for hardware acceleration of the entire 3D rendering pipeline or even)onlysfartial acceleration. Direct3D exposes the advanced graphics capabilities of 30 graphics hardware, including Z-buffeting, W-buffeting)stencil buffering)spatial anti-aliasing, alpha blending, color blending, mipmapping, texture blending, clipping, culling. atmospheric effetts, perspective-correct texture mapping, programmable HLSL shaders, and effects. Integration with other DirectX technologies enables Direct3D to deliver such features as video mapping, hardware 3D tendering in 2D overlay planes, and even sprites, providing the use of 2D and 3 graphics in interactive media ties. Direct3D is a Microsoft DirectX API subsystem eomponentuThe aim of Direct3D is to abstract the communication between a graphics application and the graphics hatdwaré drivers. It is presented like a thin abstract layer at a level comparable to GDI (Graphical Device Interface). Direet3D contains numerous features that GDI lacks. Direct3D is an|immediaté|modelgraphics API. It provides a low-level interface to every video card 3D function (transformations, clipping, lighting, materials, textures, depth buffering and so on). ‘The Direct3D libraries are-not.included by default when you create a solution for a device running Windows Mobile. The library you need to add is Windows Mobile .Directx. To make your program simpler, you can also add using directives at the top of your program to include the 3-D graphics namespaces: using Microsoft.WindowsMobile.DirectX; using Microsoft .WindowsMobile.DirectX.Direct3D; All the drawing in the Direct3D program is performed by an instance of the Device class. This is an object that represents a graphics display device in a computer system. On a desktop computer, the Device maps to a physical adapter connected to a monitor. On a Windows Mobile 5.0-powered system, the Device drives the display hardware. You ask a device instance to draw objects for you, and it acts on these requests in the manner appropriate for the actual underlying hardware. 3 visit ‘Shahab. blogspot.com for more. ‘The actual range of options and commands that a given graphics Device can understand and act on varies from one platform to another. You can use methods to find out the capabilities of a given device. For the purpose of brevity, we use the set of options known to be offered by devices that run Windows Mobile 5.0. When a Device instance is created, it is given information to describe how it is to use system resources and generate the display. You must set up these presentation parameters prior to the construction of the device. FRR RRR RRR Q3. Write a note on Properties in .net and show their use with examples? ‘A property is a member that provides a flexible mechanism to read, write, or compute the value of a private field. Properties can be used as if they are public data members, but they are actually special methods called accessors. This enables data to be accessed easily and still helps promote the safety and flexibility of methods, Properties in C# and .NET have various access levels that is defined by an access modifier. Propefties canjbe read- write, read-only, or write-only. The read-write property implements both, a get and @jset accessomA write-only property implements a set accessor, but no get accessor. A read-only property implements alget accessor, but no set accessor. A property is like a combination of a variable and a method, and it has twolmethods: aiget anda set method: class Person if t private string name; // field public string Na { get { return tm + y a ‘The Name property is associated with the name field. Itis a good practice to use the same name for both the property and the private field, butywith an.uppercase first letter. ‘The get method returns the value of the variable name. ‘The set method assigns a.value.to the name variable. The value keyword represents the value we assign to the property. FRR RNIN Q4. What is cryptography? How it is implemented in window mobiles? Write a code to encrypt the user password? Cryptography is a method of protecting information and communications through the use of codes, :0 that only those for whom the information is intended can read and process it. The prefix "crypt-" means "hidden" or "vault" - and the suffix "-graphy" stands for “writing.” Cryptography is broadly classified into two categories: Symmetric key Cryptography and Asymmetric key Cryptography (popularly known as public key cryptography). > Symmetric Key Cryptography {An eneryptin eystem in which the sender and receiver of a message share a single, common key that is used ta encrypt and decrypt the message. The most popular symmetric-key system is the Data Encryption Standard (DES). 4 visit ‘Shahab. blogspot.com for more. > Asymmetric Key Encryption (or Public Key Cryptography) ‘The encryption process where ditferent keys are used for encrypting and decrypting the information. Keys are different but are mathematically related, such that retrieving the plain text by decrypting ciphertext is feasible. RSA is the most widely used form of public key encryption. On windows mobile both of the encryption techniques could be used for securing the data while developing applications. It up to the developers. Ayymnmetric encryption is slow compared to symmetric—1,000 times slower —and the computational effort required will drain a device battery quickly. These are the reasons why asymmetric key encryption is usually used for symmetric key exchange rather than for bulk encryption. Following code can be used to encrypt and decrypt the password using base64 encryption. //this function Convert to Encord your Password public static string EncodePasswordToBase64(string password) { try { byte[] encData_byte = new byte[password.Length]; encData_byte = System. Text. Encoding.UTF8.GetByte: string encodedData = Convert. ToBase64String(encDa’ return encodedData; SS x wor system.Text. |. Text .UTF8Encoding() system. Text.De ncoder.GetDecoder() ; byte[] todecode_byte ng(encodedData) ; int charCount = utfEDe \de_byte, @, todecode_byte. Length); char[] decoded_char = nei + catch (Exception ex) { ‘throw new 6 } } //this function Cc public string De s_byte.Length, decoded char, 0); Following code can be used to encrypt and decrypt the password using RSA encryption. static public byte[] Encryption(byte[] Data, RSAParameters RSAKey, bool DoOAEPPadding) { try { byte[] encryptedData; using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider()) { RSA. LmportParameters(RSAKCY) ; encryptedData = RSA.Encrypt(Data, DoOAEPPadding); } return encryptedData; 5 visit ‘Shahab. blogspot.com for more. catch (Cryptographicexception e) { Console.WriteLine(e.Message) i return null; t t static public byte[] Decryption(byte[]Data, RSAParameters RSAKey, bool DoOAEPPadding) t try { byte[1 decryptedData; using (RSACryptoServiceProvider RSA = new RSACryptoServicePro\ { RSA. ImportParameters (RSAKEY) 5 decryptedData = RSA.Decrypt(Data, DoOAEPPadding) ; t return decryptedData; + catch (CryptographicException e) { Console.WriteLine(e,ToString()); return nul. + t From the above two methods of encryption and decryption (base64 and RSA), only one should be enough for answer explanation. ok rorerurerererorurenurererersrensrunyrererervngrensrererersrursrursrurensrersrensrursrursrurenars a QS. Write a note on thread pool and threading also illustrate it with code example? Athread of execution is\the smallest séquence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system. 'k thread is also knows as lightWalahtpracess™The idea is to achieve parallelism by dividing a process into multiple threads. For example, in a browser, multiple tabs can be different threads. MS Word uses multiple threads: one thread to format the text, another thread to process inputs, etc. To define Threading in a one line, means parallel work or code execution. To perform any multiple tasks simultaneously means Threading. Now to make you understand more better we will create two methods i.e. Work1 and Work2 respectively and inside that we will make a FOR loop. Here we want to test how both functions are executes. class Program { static void main(string[] args) { Work1(); Work2(); + 6 visit ‘Shahab. blogspot.com for more. static void Work1() { for(int i = 15 i <=10; i++) { Console.WriteLine("Work 1 is called " + i.ToString()); } static void Work2() { for (int i = 1} i <= 10; i++) { Console.WriteLine("Work 2 is called " + i.ToString()); } } ‘As you see In above code snippet, we have created both normal functions and that we willexecute, So let’s run it and see the output. Bid C\Windows\system32\emd.exe called called Parent called Pevere| vere called perere| peverr a called called called 18 porno If you see both functions / methods ran synchronously i.e., one after the other. Here Work 2 have to wait till Work 1 has finished his\loop. But in this fast-moving world we have a habit of doing multi-tasking so here also in a same way we need some kind of, mechanism whichshelps:us.to.run both methods asynchronously i.e., simultaneously. So, to make that C# has a mechanism called Threading. So, we understood the problem and now we will see how threading helps to fix this problem i.e., Running both methods simultaneously > Step1 First and foremost, step to import Threading namespace. using System; using System. Threading; > step2 Here in this step, we will create thread objects in our Main method. 7 visit ‘Shahab. blogspot.com for more. class Program { static void Main(string[] args) { Thread oThreadone = new Thread(Work1) ; Thread oThreadtwo = new Thread(Work2) ; + + > Step3 In this step we will invoke our thread objects class Program { static void Main(string[] args) { Thread oThreadone = new Thread(Work1); Thread oThreadtwo = new Thread(Work2) ; oThreadone. Start(); oThreadtwo.Start(); } AAs you see we have invoked Thread objects successfully. Now let's run this program to see the Output. CAWindows\system32\cradvexe covery poverty peyert As you see in output that Work2 method is also simultaneously executing with Work1 method it means both methods are working asynchronously. So as per above examples it is been concluded that using threading, we can execute multiple work in an asynchronously. A ThreadPoo! is a pool of threads. It starts out empty, and when your code requests a new thread from the pool, the pool will keep the thread around for the next time your code needs a thread again. The performance gains are impressive because a new thread need not be created most times because threads that are idling in the pool can be reused. Also, threads need not be destroyed immediately, which results in another performance gain. Finally, if an application were to create a large number of tasks, the ThreadPool would create a maximum of 25 threads and queue all other work items to be executed when a thread became free. In addition to all the performance gains, it is also much easier to program against the ThreadPool, as the following code example exhibits: 8 visit ‘Shahab. blogspot.com for more. private void menultem1_Click(object sender, EventArgs e) { WaitCallback we = new WaitCallback(RunsOnPoolThread) ; object someState = new object(); ThreadPool.QueueUserWorkItem(wc, someState) ; t private void RunsonPoolthread(object state) { // do stuff on thread optionally using state t ‘As you can see, using a thread from the pool is a single statement. As with the explicit thread creation, you specify a delegate, but this one also accepts some state as an object, which can be useful if you need to pasliitialization data to the thread. Using a thread pool should be the default choice, but itis not the best choice in'Some scenarios. If your thread does not perform a task and then exit but rather stays alive for a very long period of time, potentially blocking on some synchronization object, a dedicated thread is generally a better choice. FRIIS Q6. Write a note on graphic programming also write code for drawing a rectangle and a line? Graphic or visual programming is a programming technique that uses visual objects like symbols, blocks, pictures, etc., to code the program. These particular representations of physical objects are confiected through arrows, arcs, lines, or wires to make the system understand what to perform and how to, perform the instructions. C# provides us with a rich set offnamespaces, classesjimethods and events for,developing applications with graphical capabilities. With the help of its Graphics class, the System. Drawing namespace provides functionality for drawing shapes, printing texts on to the form, and much more: All drawing in Windows Forms applications takes place in/fesponse to a Paint instruction from the Windows operating system. Windows sends this instruction to alcontrol whenever the operating system determines that the portion of the screen the control occupies is invalid and must be repainted. This occurs in the following situation: ‘+ When the control (or form) frst is displayed) = When the form or control is resized (which als6 Gecurs when the screen orientation switches between portrait and landscape) #)) When a control that was placed).in front of another becomes invisible When you force a repaint by calling the Refresh or invalidate method of the control Windows sends a Paiint linstruction first to the-container control (the Form or Panel) and then to any child controls inside the container. Internally, a control handles the Paint instruction in its Paint method, and it also fires the Paint event immediately after executing the Paint method. Consequently, you can use one of two ways to do your own drawing: © Capture the Paint event so that any drawing you do augments the built-in drawing of the control ‘* Override the OnPaint method so that your own drawing completely replaces the built-in capabilities If you are creating a custom control by extending an existing control and it requires custom drawing, you would override the OnPaint method. ‘All drawing takes place through a System. Drawing.Graphics object. You can get a System. Drawing. Graphics object in a number of ways: * Inthe PainteventArgs object that is passed into the OnPaint method or the Paint event of a control ‘By calling the Control.createGraphics method 9 visit ‘Shahab. blogspot.com for more. ‘© By calling the static (shared in Visual Basic) method Graphics . FromImage method, which returns a Graphics object from an existing Image object, allowing you to draw on the existing Image > Drawing rectangle The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. The code performs the following actions: * Creates a black pen. + Creates the position anu size of a rectangle. © Draws the rectangle to the screen. public void DrawRectangleInt(PaintEventArgs e) { // Create pen. Pen blackPen new Pen(Color.Black, 3); // Create Location and size of rectangle. int x = 5 int y = 0; int width = 200; int height = 200; // Draw rectangle to screen e.Graphics.DrawRectangle(blackPen, x, y, width, height); > Drawing line The following code example is designed for use with Windows Forms, andi requires PaintEventArgse, which is a parameter of the Paint event handler. Thécode|performs the following actions: * Creates a black pen. + Creates points for the endpoints ofthe line. * Draws the line to the screen. public void DrawLinePointk(PainteventAngs ej) { // Create pen. Pen blackPen = new Pen(Color.Black, 3); // Create points that define Line. PointF point1 = new PointF(100.0F, 100.0F); Point point2 = new PointF(500.0F, 100.0F); // vraw Line to screen. e.Graphics.Drawline(blackPen, point1, point2); } FR RRR RIN INI Q7. Write a note on the failure of window phone and success of android OS? ‘There's so much to like about Windows Phone and Windows 10 Mobile in terms of hardware options, interface, and ecosystem (in that W10M is part of a larger whole), that you might be surprised, in hindsight, that it failed so badly - in relative terms, compared to Android and iOS. There's no ane single reason for this - rather many reasons, with cumulative effect, over the best part of a decade. 10 visit ‘Shahab. blogspot.com for more. 1, Made for Business: Windows phones are primarily made for business or the Enterprise market. In other words, some Microsoft clients or partners purchase this product in mass for their employees. This method also Applies to Surface family. 2. Requires paid licenses: Windows phone OS maintains specific hardware capabilities. OEMs (firms like Samsung that manufactures devices) interested in creating devices for Windows Phone OS has to adhere to specific minimum hardware requirements. For example, SMP camera. | know this doesn't mean much now but it does 5-7 years ago. OEMs aren't allowed to create devices that doesn't confirm to cellular safety regulations’ too. ivate Sourced: Windows phone OS isn't open sourced unlike Android. This means a lot to developers as they can't fully understand the OS and of CUs won't he able to create malwares to steal user's information or install ad apps ad system services. 4. High Security: Windows Phone 0S API and SDK doesn't allow developers to control thé main, OS and other essential components. Also, apps run in isolated storage and disallow accessing user or app data of other installed apps. This has frustrated developer's efforts to create hacking apps to crack games, software and other types of malwares. Sharing apps lke Xender or other explorer apps too @desn't furtetion as in Android. Rooting of Windows Phone OS too isn’t possible. 5. Bad Reviews: These points mentioned above drives angry developersito, spend time ofiicreating/very bad reviews about the OS. Developers also ignore the platform while creating apps and games. 6. Lack of Bad apps: Windows Phone OS has majority (about 95%) Of essential apps needed fof everyday work and social activities. Features might be quite different withwersions on other platforms, but this is due to developer's incompetency. People want to crack games like Subway surfers)Templo(Run, Asphalt Airborne and likes; they want free passes to Music Streaming Services, movies and other paid stuffs. Windows platform simply doesn'tallow such apps and So people buy phone that runs OS that can make them own billion coins, ited lives and others. 7. Strict App Policy: Strictitesting and evaluation of newly subinitted apps and periodical checks of features, content permissions discourage developers from creating apps for Windows. Once an app is submitted for certification, automated and manual checks and testing willbe conducted before publishing can he allowed. Windows ensures capabilities aren't declared and notused; ensure right contents tag for age groups; page navigation isn't breaking; memory, leak isn't present and all assets are complete. Many developers just want to create apps the way they want ahd leave it'to greedily consume memory and processing power just how they do on Android and maybe on IOS (when jail break is applied). Developers want to make money creating ad-wares (apps that can't be terminated oh uninstalledieven upon reset to serves adverts). They also want to create apps that enables users to change almost any system id like cellular IMEI numbers, Bluetooth/ WIFI MAC address's, device ID, locking GPS location, raising volume / brightness above limits and others. They Simply Gan't do this}onWindows. Uniqueness In design and function: | am glad Windows 10 Mobile now has the feel of its mother OS (Windows 10). Apart from the feel, Apps are shared and a single Universal Windows App (UWP) can be deployed to bath PC|3nd|Phonelineluding Hub, HoloLens and Xbox. Previous versions of Windows phones (78.8.1) had much limited features compared to modern Smartphone OS. For example, WP7 didn't have legacy Bluetooth enumerator for pairing / file sharing with other phones; it could only connect to media devices like speakers. WP8 has Bluetooth but file explorer and notification hub was still absent. WP8.1 brought has the hub but a poor file explorer and music app. App installation on SD card was introduced among other features. But Windows 10 Mobile has it all 9. App installation limitation: Most people want to share app package and install from non-store means. Windows does not allow that as only company or testing apps are allowed to distribute their apps internally. This is a very great advantage to Windows developers as the number of their users= number of downloads - Uninstalls, With this arrangement, developers get full revenue on app purchased and in-app purchases. Unlike in Android that a large % of users hack apps and games and downloaded modified app packages from other stores, websites or by pair sharing. 10. It's an extension OS and not a primary OS. Android is a primary OS for Google/ Alphabet and all OS focus {investment and partnership) is given. u visit ‘Shahab. blogspot.com for more. Android was founded by a group of people namely Palo Alto, Andy Rubin, Rich Miner, Nick Sears and Chris white. It was mainly designed for devices having touchscreen Interface like mobile phones and tablets. Then In year 2005 when the company ran into financial difficulties Google came forward and backed it and in small course of time Google took total ownership of the company. In year 2007 android was reveled having a goal ta provide an open-source operating system which can be easily customized as per the need. Then in year 2008 finally the first phone came which ran on android platform. It was HTC dream which ran on an android version called cupcake. So, in no particular order, here are top five reasons for Android's success: 1. Hardware diversity Perhaps the most obvious reason for Android's more recent dominance in the mobile market is because the operating system is simply available to a larger number of people. Android has a range of manufacturers producing a range of products. Without a central company dictating when new top of the line phones is released, Samsting)HTC, Sony, etc., are available to offer the very highest spec products as soon as new technologies become available, offering the best top of the line devices to consumers. We've seen over the course of just three months, faster and more powerful smartphones than ever before, whilst Apple is still stuck on last generation hardware téthnologies. Atthe other end of the spectrum, the same companies are free to design smartphones and tablets which Meet more budget price ranges, whilst still providing consumers with a decent smartphone experience thahiks to the Android. OS. Thisis proving to be a particularly strong business idea in emerging markets. 2. Competition and innovation Each manufacturer utilizing the Android operating system is in direeteompetition with everyoné else, which had led to a much faster pace in innovation. There's a distinct advantage in offering consumes something which they can’t get anywhere else — look at the recent top of the line Samsung and HTC and other company's products. Furthermore, the nextllline-up of smartphones is already geating up to take advantage of faster processing technologies in order to plate therfiselves ahead of the current crop of smartphonés. It’s a constant battle to offer the best products, which is a massive win for consumers! 3. Open source, free market system You've probably noticed that a lot of Android's strength stem from its open nature, which allows third parties to do what they want with the platform in order offer constimérs products which they would like to use. This has helped the platform capture larger and larger sharesiof the smartphone and tablet markets, but it’s also spun off a range of entirely new products. There have also been a whole range of other Android powered products which have appeared thanks to innovative third-party companies. Plenty of manufacturers are now offering mini-Android PCs, often in the form of a USB stick sizedsdevice, Which, bring Computing into your living room for around $50 or less. There’s a range of Android TV products as well, which give users access to a range of media options in the living room. ‘As far as app quality goes,it's certainly true that there are some poor-quality apps on the Play Store, but it doesn’t usually take long for these to be exposed and weeded out. The rating system certainly does its job, and most of the regularly downloaded apps in the Google Store are as good as anything found in Apple's store. In fact, the ease in which apps and software can be upldaded to the Play Store is one of Android's strengths, as it allows developers to easily and quickly respond to consumer demand 4, Strong developer community This brings us neatly anta the next paint, a strong and ever-growing developer community We all know that there are a variety of custom ROMs for a start, each offering unique features, porting the default Android experience to handset which would otherwise go without, and some aiming to improve system performance. ROMs like CyanogenMod have proven hugely popular because of their punctual updates for handsets which otherwise would go without the latest versions of Android, and others like Paranoid Android are intent on innovating on the default Android experience. FR NINN NNN 2 visit ‘Shahab. blogspot.com for more.

You might also like