Wireless Application Protocol
Wireless Application Protocol (WAP) is a technical standard for accessing information over a mobile wireless network. A WAP browser is a web browser for mobile devices such as mobile phones that uses the protocol.
Before the introduction of WAP, mobile service providers had limited opportunities to offer interactive data services, but needed interactivity to support Internet and Web applications such as:
- Email by mobile phone
- Tracking of stock-market prices
- Sports results
- News headlines
- Music downloads
- The Japanese i-mode system offers another major competing wireless data protocol.
The WAP standard described a protocol suite allowing the interoperability of WAP equipment, and software with different network technologies, such as GSM and IS-95 (also known as CDMA).
- Wireless Application Environment (WAE) WAP protocol suite
- Wireless Session Protocol (WSP)
- Wireless Transaction Protocol (WTP)
- Wireless Transport Layer Security (WTLS)
- Wireless Datagram Protocol (WDP)
Any Wireless Data Network
The bottom-most protocol in the suite, the WAP Datagram Protocol (WDP), functions as an adaptation layer that makes every data network look a bit like UDP to the upper layers by providing unreliable transport of data with two 16-bit port numbers (origin and destination). All the upper layers view WDP as one and the same protocol, which has several "technical realizations" on top of other "data bearers" such as SMS, USSD, etc. On native IP bearers such as GPRS, UMTS packet-radio service, or PPP on top of a circuit-switched data connection, WDP is in fact exactly UDP.
WTLS, an optional layer, provides a public-key cryptography-based security mechanism similar to TLS.
WTP provides transaction support (reliable request/response) adapted to the wireless world. WTP supports more effectively than TCP the problem of packet loss, which occurs commonly in 2G wireless technologies in most radio conditions, but is misinterpreted by TCP as network congestion.
Finally, one can think of WSP initially as a compressed version of HTTP.
This protocol suite allows a terminal to transmit requests that have an HTTP or HTTPS equivalent to a WAP gateway; the gateway translates requests into plain HTTP.
- Wireless Application Environment (WAE)
- The WAE space defines application-specific markup languages.
- For WAP version 1.X, the primary language of the WAE is Wireless Markup Language (WML). In WAP 2.0, the primary markup language is XHTML Mobile Profile.
The WAP Forum dates from 1997. It aimed primarily to bring together the various wireless technologies in a standardised protocol.
In 2002 the WAP Forum was consolidated (along with many other forums of the industry) into Open Mobile Alliance (OMA]).
- WAP Push Process :
WAP Push Process
WAP Push was incorporated into the specification to allow WAP content to be pushed to the mobile handset with minimum user intervention. A WAP Push is basically a specially encoded message which includes a link to a WAP address.
WAP Push was specified on top of WAP Datagram Protocol (WDP); as such, it can be delivered over any WDP-supported bearer, such as GPRS or SMS. Most GSM networks have a wide range of modified processors, but GPRS activation from the network is not generally supported, so WAP Push messages have to be delivered on top of the SMS bearer.
On receiving a WAP Push, a WAP 1.2 (or later) -enabled handset will automatically give the user the option to access the WAP content. This is also known as WAP Push SI (Service Indication). A variant, known as WAP Push SL (Service Loading), directly opens the browser to display the WAP content, without user interaction. Since this behaviour raises security concerns, some handsets handle WAP Push SL messages in the same way as SI, by providing user interaction.
The network entity that processes WAP Pushes and delivers them over an IP or SMS Bearer is known as a Push Proxy Gateway (PPG).
A re-engineered 2.0 version was released in 2002. It uses a cut-down version of XHTML with end-to-end HTTP, dropping the gateway and custom protocol suite used to communicate with it. A WAP gateway can be used in conjunction with WAP 2.0; however, in this scenario, it is used as a standard proxy server. The WAP gateway's role would then shift from one of translation to adding additional information to each request. This would be configured by the operator and could include telephone numbers, location, billing information, and handset information.
Mobile devices process XHTML Mobile Profile (XHTML MP), the markup language defined in WAP 2.0. It is a subset of XHTML and a superset of XHTML Basic. A version of cascading style sheets (CSS) called WAP CSS is supported by XHTML MP.
Marketers hyped WAP at the time of its introduction, leading users to expect WAP to have the performance of fixed (non-mobile) Internet access. BT Cellnet, one of the UK telecoms, ran an advertising campaign depicting a cartoon WAP user surfing through a Neuromancer-like "information space". In terms of speed, ease of use, appearance and interoperability, the reality fell far short of expectations when the first handsets became available in 1999. This led to the wide usage of sardonic phrases such as "Worthless Application Protocol", "Wait And Pay", and so on.
Between 2003 and 2004 WAP made a stronger resurgence with the introduction of wireless services (such as Vodafone Live!, T-Mobile T-Zones and other easily accessible services). Operator revenues were generated by transfer of GPRS and UMTS data, which is a different business model than that used by the traditional Web sites and ISPs. According to the Mobile Data Association, WAP traffic in the UK doubled from 2003 to 2004.
Unlike in Europe, WAP has seen huge success in Japan. While the largest operator NTT DoCoMo has famously disdained WAP in favor of its in-house system i-mode, rival operators KDDI (au) and SoftBank Mobile (previously Vodafone Japan) have both successfully deployed WAP technology. In particular, (au)'s chakuuta/chakumovie (ringtone song/ringtone movie) services are based on WAP. After being shadowed by the initial success of i-mode, the two smaller Japanese operators have been gaining market share from DoCoMo since Spring 2001.
The adoption of WAP in the US suffered because many cell phone providers required separate activation and additional fees for data support, and also because telecommunications companies have sought to limit data access to only approved data providers operating under license of the signal carrier.
In recognition of the problem, the U.S. Federal Communications Commission (FCC) issued an order on 31 July 2007 which mandated that licensees of the 22-megahertz wide "Upper 700 MHz C Block" spectrum will have to implement a wireless platform which allows customers, device manufacturers, third-party application developers, and others to use any device or application of their choice when operating on this particular licensed network band.
Spin-off technologies, such as Multimedia Messaging Service (MMS), a combination of WAP and SMS, have further driven the protocol. An enhanced appreciation of device diversity, supported by the concomitant changes to WAP content to become more device-specific rather aiming at a lowest common denominator, allowed for more usable and compelling content. As a result, the adoption rate of WAP technology is rising.
Protocol design lessons from WAP
The original WAP model provided a simple platform for access to web-like WML services and e-mail using mobile phones in Europe and the SE Asian regions. As of 2009 it continues with a considerable user base. The later versions of WAP, primarily targeting the United States market, were designed[by whom?] for a different requirement - to enable full web XHTML access using mobile devices with a higher specification and cost, and with a higher degree of software complexity.
Considerable discussion has addressed the question whether the WAP protocol design was appropriate. Some have suggested that the bandwidth-sparing simple interface of Gopher would be a better match for mobile phones and Personal digital assistants (PDAs).
The initial design of WAP specifically aimed at protocol independence across a range of different protocols (SMS, IP over PPP over a circuit switched bearer, IP over GPRS, etc.). This has led to a protocol considerably more complex than an approach directly over IP might have caused.
Most controversial, especially for many from the IP side, was the design of WAP over IP. WAP's transmission layer protocol, WTP, uses its own retransmission mechanisms over UDP to attempt to solve the problem of the inadequacy of TCP over high-packet-loss networks.
- Bada :
Bada is an operating system for mobile devices such as smartphones and tablet computers. It is developed by Samsung Electronics. Its name is derived from "?? (bada)", meaning "ocean" or "sea" in Korean. It ranges from mid- to high-end smartphones.
To foster adoption of Bada OS, since 2011 Samsung reportedly has considered releasing the source code under an open-source license, and expanding device support to include Smart TVs. Samsung announced in June 2012 intentions to merge Bada into the Tizen project, but would meanwhile use its own Bada operating system, in parallel with Google Android OS and Microsoft Windows Phone, for its smartphones.
All Bada-powered devices are branded under the Wave name, as Samsung's Android-powered devices are branded under the name Galaxy.
On 25 February 2013, Samsung announced that it will stop developing Bada, moving development to Tizen instead.
mer and the mobile software distributions it is related with.
After the announcement, the Wave S8500 was first shown at Mobile World Congress 2010 in Barcelona in February 2010. At that time, applications running on the first Bada phone were demonstrated, including Gameloft's Asphalt 5.
After the launch, companies such as Twitter, EA, Capcom, Gameloft and Blockbuster showed their support for the Bada platform.
In May 2010, Samsung released a beta of their Bada software development kit (SDK) to attract developers. Samsung also began the Bada Developer Challenge with a total prize of $2,700,000 (USD). In August 2010, Samsung released version 1.0 of the SDK.
In August 2011, Samsung released version 2.0 of the SDK. This new version provides many enhancements over its predecessors.
The first Bada-based phone was the Samsung Wave S8500, released in April, 2010, which sold one million handsets in its first 4 weeks on the market.
The Samsung S8500 Wave was launched with version 1.0 of the Bada operating system. Soon after the launch, Samsung released version 1.0.2, which included minor fixes for European users. The latest version 1.2 was released with the Samsung S8530 Wave II phone. The alpha-version of Bada 2.0 was introduced on February 15, 2011, with the Samsung S8530 Wave II handset.
The current flagship Bada handset is the Samsung Wave 3 S8600, running Bada 2.0
With the release of the Samsung Wave, Samsung opened an international application store, Samsung Apps, for the Bada platform. Samsung Apps has over 2400 applications. This store is also available for Android and Samsung feature phones.
Bada, as Samsung defines it, is not an operating system itself, but a platform with a kernel configurable architecture, which allows using either a proprietary real-time operating system hybrid (RTOS) kernel or the Linux kernel. According to copyrights displayed by Samsung Wave S8500, it uses code from FreeBSD, NetBSD and OpenBSD. Despite numerous suggestions, there is no known bada device to date that is running the Linux kernel. Similarly, there is no evidence that bada uses the same or similar graphics stack as the Tizen OS, in particular EFL.
The device layer provides core functions such as graphics, protocols, telephony and security. The service layer provides more service-centric features such as SMS, mapping and in-app-purchasing. To provide such features there is a so-called bada Server. The top layer, the framework layer provides an application programming interface (API) in C++ for application developers to use.
Bada provides various UI controls to developers: It provides assorted basic UI controls such as Listbox, Color Picker and Tab, has a web browser control based on the open-source WebKit, and features Adobe Flash, supporting Flash 9, 10 or 11 (Flash Lite 4 with ActionScript 3.0 support) in Bada 2.0. Both the WebKit and Flash can be embedded inside native Bada applications. Bada supports OpenGL ES 2.0 3D graphics API and offers interactive mapping with point of interest (POI) features, which can also be embedded inside native applications. It supports pinch-to-zoom, tabbed browsing and cut, copy, and paste features.
Bada supports many mechanisms to enhance interaction, which can be incorporated into applications. These include various sensors such as motion sensing, vibration control, face detection, accelerometer, magnetometer, tilt, Global Positioning System (GPS), and multi-touch.
Native applications are developed in C++ with the Bada SDK, and the Eclipse based integrated development environment (IDE). GNU-based tool chains are used for building and debugging applications. The IDE also contains UI Builder, with which developers can easily design the interface of their applications by dragging and dropping UI controls into forms. For testing and debugging, the IDE contains an emulator which can run apps.
Criticism of Bada 1.x
In the beginning, all VOIP over Wi-Fi applications were banned which meant that popular applications such as Skype could not be used. In March 2011 this restriction was removed, allowing VOIP applications to run on the platform.
Some publications have criticized Bada 1.x over the following issues:
The external sensor API is not open-ended, preventing new types of sensors or unexpected technology developments from being added in the future by third parties.
Due to "performance and privacy issues", Bada 1.x applications cannot access the SMS/MMS inbox or receive incoming SMS/MMS notifications. This limit is removed since version 2.0.
Bada versions 1.x only allowed one Bada third party application to run at a time. Multitasking applications was only possible between the base applications and one Bada third party application. This limit is removed since version 2.0.
Mainstream Applications, such as Whatsapp, are not developed for Bada 1.2, this has not been resolved in Bada 2.0
GPS facility was poor in the Bada 1.0 which was further updated in Bada 2.0
Many countries, such as South Africa, still await the release of Bada 2.0
Bada 2.0 version was shown at IFA 2011 in Berlin and was released in the end of December 2011 with a lot of new functions and improvements compared to version 1.2, introducing features such as:
- Full HTML5 support
- WAC 2.0 compatibility
- Full multitasking
- Wifi-Direct technology
- Adobe Flash lite 4 (mobile Flash Player version, supports Action script 3.0 of Adobe Flash 10 and 11)
- Dolphin browser 3.0 with download manager
- Speech to text
- Vocal commands based on Vlingo
- Push notification
- NFC (Near-field communication technology)
- New security policies and protection functions
- New camera manager
- New GUI
inclusion of new proprietary applications and services such as ChatON (instant messaging software), Caster (to share multimedia content and web pages with PC), Music Hub (a music store similar to iTunes)
Samsung's first phone running the Bada platform was the Wave S8500. The Wave is a slim touchscreen phone powered by Samsung's "Hummingbird" CPU (S5PC110), which includes a 1 GHz ARM Cortex-A8 CPU and a built-in PowerVR SGX 540 3D graphics engine, "Super AMOLED" screen and 720p high-def video capabilities.
The Samsung S8530 Wave II was made available in November 2010. It has a 3.7" Super Clear capacitive LCD touchscreen. It is preloaded with Bada 1.2.
At the end of 2011, Samsung released three new models with Bada 2.0. The Samsung Wave 3 (S8600) is a high-end model featuring 1.4 GHz CPU with integrated Adreno 205 GPU, 4" AMOLED screen and 5 MP camera. The Wave M and Wave Y are lower-priced models, using slower CPUs, smaller LCD screens, and lacking other features found in the Wave 3.
- Android (operating system) :
Android (operating system)
Android is a Linux-based operating system designed primarily for touchscreen mobile devices such as smartphones and tablet computers. Initially developed by Android, Inc., which Google backed financially and later bought in 2005, Android was unveiled in 2007 along with the founding of the Open Handset Alliance: a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. The first Android-powered phone was sold in October 2008.
Android is open source and Google releases the code under the Apache License. This open source code and permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers. Additionally, Android has a large community of developers writing applications ("apps") that extend the functionality of devices, written primarily in a customized version of the Java programming language. In October 2012, there were approximately 700,000 apps available for Android, and the estimated number of applications downloaded from Google Play, Android's primary app store, was 25 billion. A developer survey conducted in April - May 2013 found that Android is the most popular platform for developers, used by 71% of the mobile developer population.
These factors have contributed towards making Android the world's most widely used smartphone platform, overtaking Symbian in the fourth quarter of 2010, and the software of choice for technology companies who require a low-cost, customizable, lightweight operating system for high tech devices without developing one from scratch. As a result, despite being primarily designed for phones and tablets, it has seen additional applications on televisions, games consoles, digital cameras and other electronics. Android's open nature has further encouraged a large community of developers and enthusiasts to use the open source code as a foundation for community-driven projects, which add new features for advanced users or bring Android to devices which were officially released running other operating systems.
Android's share of the global smartphone market, led by Samsung products, was 64% in March 2013. In July 2013 there were 11,868 different Android devices, scores of screen sizes and eight OS versions simultaneously in use. The operating system's success has made it a target for patent litigation as part of the so-called "smartphone wars" between technology companies. As of May 2013, a total of 900 million Android devices have been activated and 48 billion apps have been installed from the Google Play store.
Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin (co-founder of Danger), Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-Mobile), and Chris White (headed design and interface development at WebTV) to develop, in Rubin's words "smarter mobile devices that are more aware of its owner's location and preferences". The early intentions of the company were to develop an advanced operating system for digital cameras, when it was realised that the market for the devices was not large enough, and diverted their efforts to producing a smartphone operating system to rival those of Symbian and Windows Mobile (Apple's iPhone had not been released at the time). Despite the past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones. That same year, Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company.
Google acquired Android Inc. on August 17, 2005, making it a wholly owned subsidiary of Google. Key employees of Android Inc., including Rubin, Miner and White, stayed at the company after the acquisition. Not much was known about Android Inc. at the time, but many assumed that Google was planning to enter the mobile phone market with this move. At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradable system. Google had lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part.
Speculation about Google's intention to enter the mobile communications market continued to build through December 2006. Reports from the BBC and the Wall Street Journal noted that Google wanted its search and applications on mobile phones and it was working hard to deliver that. Print and online media outlets soon reported rumors that Google was developing a Google-branded handset. Some speculated that as Google was defining technical specifications, it was showing prototypes to cell phone manufacturers and network operators. In September 2007, InformationWeek covered an Evalueserve study reporting that Google had filed several patent applications in the area of mobile telephony.
On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, device manufacturers such as HTC, Sony and Samsung, wireless carriers such as Sprint Nextel and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments, unveiled itself, with a goal to develop open standards for mobile devices. That day, Android was unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6. The first commercially available phone to run Android was the HTC Dream, released on October 22, 2008.
Since 2008, Android has seen numerous updates which have incrementally improved the operating system, adding new features and fixing bugs in previous releases. Each major release is named in alphabetical order after a dessert or sugary treat; for example, version 1.5 Cupcake was followed by 1.6 Donut. The latest release is 4.3 Jelly Bean. In 2010, Google launched its Nexus series of devices a line of smartphones and tablets running the Android operating system, and built by a manufacturer partner. HTC collaborated with Google to release the first Nexus smartphone, the Nexus One. The series has since been updated with newer devices, such as the Nexus 4 phone and Nexus 10 tablet, made by LG and Samsung respectively. Google releases the Nexus phones and tablets to act as their flagship Android devices, demonstrating Android's latest software and hardware features.
On 13 March 2013, it was announced by Larry Page in a blog post that Andy Rubin had moved from the Android division to take on new projects at Google. He was replaced by Sundar Pichai, who also continues his role as the head of Google's Chrome division, which develops Chrome OS.
Android's user interface is based on direct manipulation, using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects. The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibration capabilities of the device to provide haptic feedback to the user. Internal hardware such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented, or allowing the user to steer a vehicle in a racing game by rotating the device, simulating control of a steering wheel.
Android devices boot to the homescreen, the primary navigation and information point on the device, which is similar to the desktop found on PCs. Android homescreens are typically made up of app icons and widgets; app icons launch the associated app, whereas widgets display live, auto-updating content such as the weather forecast, the user's email inbox, or a news ticker directly on the homescreen. A homescreen may be made up of several pages that the user can swipe back and forth between, though Android's homescreen interface is heavily customisable, allowing the user to adjust the look and feel of the device to their tastes. Third party apps available on Google Play and other app stores can extensively re-theme the homescreen, and even mimic the look of other operating systems, such as Windows Phone. Most manufacturers, and some wireless carriers, customise the look and feel of their Android devices to differentiate themselves from their competitors.
Present along the top of the screen is a status bar, showing information about the device and its connectivity. This status bar can be "pulled" down to reveal a notification screen where apps display important information or updates, such as a newly received email or SMS text, in a way that does not immediately interrupt or inconvenience the user. In early versions of Android these notifications could be tapped to open the relevant app, but recent updates have provided enhanced functionality, such as the ability to call a number back directly from the missed call notification without having to open the dialer app first. Notifications are persistent until read or dismissed by the user.
Android has a growing selection of third party applications, which can be acquired by users either through an app store such as Google Play or the Amazon Appstore, or by downloading and installing the application's APK file from a third-party site. The Play Store application allows users to browse, download and update apps published by Google and third-party developers, and is pre-installed on devices that comply with Google's compatibility requirements. The app filters the list of available applications to those that are compatible with the user's device, and developers may restrict their applications to particular carriers or countries for business reasons. Purchases of unwanted applications can be refunded within 15 minutes of the time of download, and some carriers offer direct carrier billing for Google Play application purchases, where the cost of the application is added to the user's monthly bill. As of September 2012, there were more than 675,000 apps available for Android, and the estimated number of applications downloaded from the Play Store was 25 billion.
Applications are developed in the Java language using the Android software development kit (SDK). The SDK includes a comprehensive set of development tools, including a debugger, software libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. The officially supported integrated development environment (IDE) is Eclipse using the Android Development Tools (ADT) plugin. Other development tools are available, including a Native Development Kit for applications or extensions in C or C++, Google App Inventor, a visual environment for novice programmers, and various cross platform mobile web applications frameworks.
In order to work around limitations on reaching Google services due to Internet censorship in the People's Republic of China, Android devices sold in the PRC are generally customized to use state approved services instead.
Android is developed in private by Google until the latest changes and updates are ready to be released, at which point the source code is made available publicly. This source code will only run without modification on select devices, usually the Nexus series of devices. With others, there are proprietary binaries which have to be provided by the manufacturer in order for Android to work. The green Android logo was designed by graphic designer Irina Blok.
Android consists of a kernel based on Linux kernel version 3.x (version 2.6 prior to Android 4.0 Ice Cream Sandwich), with middleware, libraries and APIs written in C, and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run Dalvik 'dex-code' (Dalvik Executable), which is usually translated from Java bytecode. The main hardware platform for Android is the ARM architecture. There is support for x86 from the Android-x86 project, and Google TV uses a special x86 version of Android. In 2013, Freescale announced Android on its i.MX processor, i.MX5X and i.MX6X series. In 2012 Intel processors began to appear on more mainstream Android platforms, such as phones.
Android's Linux kernel has further architecture changes by Google outside the typical Linux kernel development cycle. Android does not have a native X Window System by default nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing Linux applications or libraries to Android. Support for simple C and SDL applications is possible by injection of a small Java shim and usage of the JNI like, for example, in the Jagged Alliance 2 port for Android.
Certain features that Google contributed back to the Linux kernel, notably a power management feature called "wakelocks", were rejected by mainline kernel developers partly because they felt that Google did not show any intent to maintain its own code. Google announced in April 2010 that they would hire two employees to work with the Linux kernel community, but Greg Kroah-Hartman, the current Linux kernel maintainer for the stable branch, said in December 2010 that he was concerned that Google was no longer trying to get their code changes included in mainstream Linux. Some Google Android developers hinted that "the Android team was getting fed up with the process," because they were a small team and had more urgent work to do on Android.
In August 2011, Linus Torvalds said that "eventually Android and Linux would come back to a common kernel, but it will probably not be for four to five years". In December 2011, Greg Kroah-Hartman announced the start of the Android Mainlining Project, which aims to put some Android drivers, patches and features back into the Linux kernel, starting in Linux 3.3. Linux included the autosleep and wakelocks capabilities in the 3.5 kernel, after many previous attempts at merger. The interfaces are the same but the upstream Linux implementation allows for two different suspend modes: to memory (the traditional suspend that Android uses), and to disk (hibernate, as it is known on the desktop). The merge will be complete starting with Kernel 3.8, Google has opened a public code repository that contains their experimental work to re-base Android off Kernel 3.8
The flash storage on Android devices is split into several partitions, such as "/system" for the operating system itself and "/data" for user data and app installations. In contrast to desktop Linux distributions, Android device owners are not given root access to the operating system and sensitive partitions such as /system are read-only. However, root access can be obtained by exploiting security flaws in Android, which is used frequently by the open source community to enhance the capabilities of their devices, but also by malicious parties to install viruses and malware.
Whether or not Android counts as a Linux distribution is a widely debated topic, with the Linux Foundation and Chris DiBona, Google's open source chief, in favour. Others, such as Google engineer Patrick Brady disagree, noting the lack of support for many GNU tools, including glibc, in Android.
Since Android devices are usually battery-powered, Android is designed to manage memory (RAM) to keep power consumption at a minimum, in contrast to desktop operating systems which generally assume they are connected to unlimited mains electricity. When an Android app is no longer in use, the system will automatically suspend it in memory - while the app is still technically "open," suspended apps consume no resources (e.g. battery power or processing power) and sit idly in the background until needed again. This has the dual benefit of increasing the general responsiveness of Android devices, since apps don't need to be closed and reopened from scratch each time, but also ensuring background apps don't waste power needlessly.
Android manages the apps stored in memory automatically: when memory is low, the system will begin killing apps and processes that have been inactive for a while, in reverse order since they were last used (i.e. oldest first). This process is designed to be invisible to the user, such that users do not need to manage memory or the killing of apps themselves. However, confusion over Android memory management has resulted in third-party task killers becoming popular on the Google Play store; these third-party task killers are generally regarded as doing more harm than good.
Open source community
Android has an active community of developers and enthusiasts who use the Android source code to develop and distribute their own modified versions of the operating system. These community-developed releases often bring new features and updates to devices faster than through the official manufacturer/carrier channels, albeit without as extensive testing or quality assurance; provide continued support for older devices that no longer receive official updates; or bring Android to devices that were officially released running other operating systems, such as the HP TouchPad. Community releases often come pre-rooted and contain modifications unsuitable for non-technical users, such as the ability to overclock or over/undervolt the device's processor. CyanogenMod is the most widely used community firmware, and acts as a foundation for numerous others.
Historically, device manufacturers and mobile carriers have typically been unsupportive of third-party firmware development. Manufacturers express concern about improper functioning of devices running unofficial software and the support costs resulting from this. Moreover, modified firmwares such as CyanogenMod sometimes offer features, such as tethering, for which carriers would otherwise charge a premium. As a result, technical obstacles including locked bootloaders and restricted access to root permissions are common in many devices. However, as community-developed software has grown more popular, and following a statement by the Librarian of Congress in the United States that permits the "jailbreaking" of mobile devices, manufacturers and carriers have softened their position regarding third party development, with some, including HTC, Motorola, Samsung and Sony, providing support and encouraging development. As a result of this, over time the need to circumvent hardware restrictions to install unofficial firmware has lessened as an increasing number of devices are shipped with unlocked or unlockable bootloaders, similar to the Nexus series of phones, although usually requiring that users waive their devices' warranties to do so. However, despite manufacturer acceptance, some carriers in the US still require that phones are locked down.
The unlocking and "hackability" of smartphones and tablets remains a source of tension between the community and industry, with the community arguing that unofficial development is increasingly important given the failure of industry to provide timely updates and/or continued support to their devices.
Android software development
Android software development is the process by which new applications are created for the Android operating system. Applications are usually developed in the Java programming language using the Android Software Development Kit, but other development tools are available. As of October 2012, more than 700,000 applications have been developed for Android, with over 25 billion downloads. A June 2011 research indicated that over 67% of mobile developers used the platform, at the time of publication. In Q2 2012; around 105 million units of Android smartphones were shipped which acquires a total share of 68% in overall smartphones sale till Q2 2012.
Software development tools
The Android software development kit (SDK) includes a comprehensive set of development tools. These includes a debugger, libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. Currently supported development platforms include computers running Linux (any modern desktop Linux distribution), Mac OS X 10.5.8 or later, Windows XP or later; for the moment one can develop Android software on Android itself by using [AIDE - Android IDE - Java, C++] app and [Android java editor] app. The officially supported integrated development environment (IDE) is Eclipse using the Android Development Tools (ADT) Plugin, though IntelliJ IDEA IDE (all editions) fully supports Android development out of the box, and NetBeans IDE also supports Android development via a plugin. Additionally, developers may use any text editor to edit Java and XML files, then use command line tools (Java Development Kit and Apache Ant are required) to create, build and debug Android applications as well as control attached Android devices (e.g., triggering a reboot, installing software package(s) remotely).
Enhancements to Android's SDK go hand in hand with the overall Android platform development. The SDK also supports older versions of the Android platform in case developers wish to target their applications at older devices. Development tools are downloadable components, so after one has downloaded the latest version and platform, older platforms and tools can also be downloaded for compatibility testing.
Android applications are packaged in .apk format and stored under /data/app folder on the Android OS (the folder is accessible only to the root user for security reasons). APK package contains .dex files (compiled byte code files called Dalvik executables), resource files, etc.
Android Debug Bridge
The Android Debug Bridge (ADB) is a toolkit included in the Android SDK package. It consists of both client and server-side programs that communicate with one another. The ADB is typically accessed through the command-line interface.
Fastboot is a diagnostic protocol included with the SDK package used primarily to modify the flash filesystem via a USB connection from host computer. It requires that the device be started in a boot loader or Second Program Loader mode in which only the most basic hardware initialization is performed. After enabling the protocol on the device itself, it will accept a specific set of commands sent to it via USB using a command line. Some of most commonly used fastboot commands include:
- flash - Rewrites a partition with a binary image stored on the host computer.
- erase - Erases a specific partition.
- devices - Displays a list of all devices (with the serial number) connected to the host computer.
- format - Format a specific partition. The file system of the partition must be recognized by the device.
Native development kit
Libraries written in C and other languages can be compiled to ARM, MIPS or x86 native code and installed using the Android Native Development Kit. Native classes can be called from Java code running under the Dalvik VM using the System.loadLibrary call, which is part of the standard Android Java classes.
Complete applications can be compiled and installed using traditional development tools. The ADB debugger gives a root shell under the Android Emulator which allows native ARM, MIPS or x86 code to be uploaded and executed. Native code can be compiled using GCC on a standard PC. Running native code is complicated by Android's use of a non-standard C library (libc, known as Bionic). The graphics library that Android uses to arbitrate and control access to this device is called the Skia Graphics Library (SGL), and it has been released under an open source licence. Skia has backends for both Win32 and Unix, allowing the development of cross-platform applications, and it is the graphics engine underlying the Google Chrome web browser.
Unlike Java application development based on the Eclipse IDE, the NDK is based on command-line tools and requires invoking them manually to build, deploy and debug the apps. Several third-party tools allow integrating the NDK into Eclipse and Visual Studio.
Android Open Accessory Development Kit
The Android 3.1 platform (also backported to Android 2.3.4) introduces Android Open Accessory support, which allows external USB hardware (an Android USB accessory) to interact with an Android-powered device in a special "accessory" mode. When an Android-powered device is in accessory mode, the connected accessory acts as the USB host (powers the bus and enumerates devices) and the Android-powered device acts as the USB device. Android USB accessories are specifically designed to attach to Android-powered devices and adhere to a simple protocol (Android accessory protocol) that allows them to detect Android-powered devices that support accessory mode.
App Inventor for Android
On 12 July 2010, Google announced the availability of App Inventor for Android, a Web-based visual development environment for novice programmers, based on MIT's Open Blocks Java library and providing access to Android devices' GPS, accelerometer and orientation data, phone functions, text messaging, speech-to-text conversion, contact data, persistent storage, and Web services, initially including Amazon and Twitter. "We could only have done this because Android’s architecture is so open," said the project director, MIT's Hal Abelson. Under development for over a year, the block-editing tool has been taught to non-majors in computer science at Harvard, MIT, Wellesley, Trinity College (Hartford,) and the University of San Francisco, where Professor David Wolber developed an introductory computer science course and tutorial book for non-computer science students based on App Inventor for Android.
HyperNext Android Creator
HyperNext Android Creator (HAC) is a software development system aimed at beginner programmers that can help them create their own Android apps without knowing Java and the Android SDK. It is based on HyperCard that treated software as a stack of cards with only one card being visible at any one time and so is well suited to mobile phone applications that have only one window visible at a time. HyperNext Android Creator's main programming language is simply called HyperNext and is loosely based on Hypercard's HyperTalk language. HyperNext is an interpreted English-like language and has many features that allow creation of Android applications. It supports a growing subset of the Android SDK including its own versions of the GUI control types and automatically runs its own background service so apps can continue to run and process information while in the background.
The SDL library offers also a development possibility beside Java, allowing the development with C and the simple porting of existing SDL and native C applications. By injection of a small Java shim and JNI the usage of native SDL code is possible, allowing Android ports like e.g. the Jagged Alliance 2 video game.
The Simple project
The goal of Simple is to bring an easy-to-learn-and-use language to the Android platform. Simple is a BASIC dialect for developing Android applications. It targets professional and non-professional programmers alike in that it allows programmers to quickly write Android applications that use the Android runtime components.
Similar to Microsoft Visual Basic 6, Simple programs are form definitions (which contain components) and code (which contains the program logic). The interaction between the components and the program logic happens through events triggered by the components. The program logic consists of event handlers which contain code reacting to the events.
The Simple project is not very active, the last source code update being in August 2009.
RFO Basic is an on-device interpreter which provides simple access to hardware, sensors, sound, graphics, multitouch, file system, SQLite, network sockets, FTP, HTTP, Bluetooth, HTML GUI, encryption, SMS, phone, email, text-to-speech, voice recognition, GPS, math, string functions, list functions, and other essentials. It is an open source project which can produce full-fledged Android APK files. Development of RFO Basic is active, and there is a strong online community of RFO Basic! developers.
Basic4android is a commercial product similar to Simple. It is inspired by Microsoft Visual Basic 6 and Microsoft Visual Studio. Basic4android is very active, and there is a strong online community of Basic4android developers.
Android APIMiner is a platform that automatically instruments the Javadoc documentation of the Android API with examples of usage, extracted from real open-source Android applications. To improve the quality of the extracted examples, APIMiner relies on an intra-procedural static slicing algorithm.
There is a community of open-source enthusiasts that build and share Android-based firmware with a number of customizations and additional features, such as FLAC lossless audio support and the ability to store downloaded applications on the microSD card. This usually involves rooting the device. Rooting allows users root access to the operating system, enabling full control of the phone. In order to use custom firmwares the device's bootloader must be unlocked. Rooting alone does not allow the flashing of custom firmware. Modified firmwares allow users of older phones to use applications available only on newer releases.
Those firmware packages are updated frequently, incorporate elements of Android functionality that haven't yet been officially released within a carrier-sanctioned firmware, and tend to have fewer limitations. CyanogenMod and OMFGB are examples of such firmware.
On 24 September 2009, Google issued a cease and desist letter to the modder Cyanogen, citing issues with the re-distribution of Google's closed-source applications within the custom firmware. Even though most of Android OS is open source, phones come packaged with closed-source Google applications for functionality such as the Android Market and GPS navigation. Google has asserted that these applications can only be provided through approved distribution channels by licensed distributors. Cyanogen has complied with Google's wishes and is continuing to distribute this mod without the proprietary software. It has provided a method to back up licensed Google applications during the mod's install process and restore them when the process is complete.
Obstacles to development include the fact that Android does not use established Java standards, that is, Java SE and ME. This prevents compatibility between Java applications written for those platforms and those written for the Android platform. Android only reuses the Java language syntax and semantics, but it does not provide the full class libraries and APIs bundled with Java SE or ME. However, there are multiple tools in the market from companies such as Myriad Group and UpOnTek that provide Java ME to Android conversion services.
- BlackBerry OS :
BlackBerry OS is a proprietary mobile operating system developed by BlackBerry Ltd. for its BlackBerry line of smartphone handheld devices. The operating system provides multitasking and supports specialized input devices that have been adopted by BlackBerry Ltd. for use in its handhelds, particularly the trackwheel, trackball, and most recently, the trackpad and touchscreen.
The BlackBerry platform is perhaps best known for its native support for corporate email, through MIDP 1.0 and, more recently, a subset of MIDP 2.0, which allows complete wireless activation and synchronization with Microsoft Exchange, Lotus Domino, or Novell GroupWise email, calendar, tasks, notes, and contacts, when used with BlackBerry Enterprise Server. The operating system also supports WAP 1.2
Updates to the operating system may be automatically available from wireless carriers that support the BlackBerry over the air software loading (OTASL) service.
Third-party developers can write software using the available BlackBerry API classes, although applications that make use of certain functionality must be digitally signed.
Research from June 2011 indicates that approximately 45% of mobile developers were using the platform at the time of publication.
BlackBerry OS was discontinued after the release of BlackBerry 10.
BlackBerry 10 is a proprietary mobile operating system developed by BlackBerry Limited (formerly Research In Motion) for its BlackBerry line of smartphone and tablet handheld devices. The most recent example being the Q10 smartphone. It is based on QNX which was acquired by BlackBerry in April 2010. BlackBerry 10 is the third major release of a QNX based operating system, following the release of BlackBerry Tablet OS with the BlackBerry PlayBook on April 19, 2011, and BlackBerry Tablet OS version 2.0 on February 21, 2012. BlackBerry 10 and BlackBerry Tablet OS have numerous technical similarities, with BlackBerry 10 providing substantial enhancements over the earlier releases.
On November 12, 2012, Heins announced a January 30, 2013 launch of the BlackBerry 10 operating system and the first smartphones running it. The operating system, as well as two devices, the Z10 (a full touchscreen device), and the Q10 (a device equipped with a physical keyboard), were announced simultaneously around the world on January 30, 2013. The company also announced that the BlackBerry PlayBook tablet would receive an update to BlackBerry 10 later in 2013. Subsequently BlackBerry stated when releasing their Q1 2014 financial results that the BlackBerry PlayBook would not be receiving an update to BlackBerry 10, citing that the hardware would not provide a good experience of BlackBerry 10, and despite of having tried to make BlackBerry 10 work on the PlayBook they were ceasing work on the port and focusing on future devices.
On 1 May 2012, Thorsten Heins, CEO of BlackBerry officially unveiled the BlackBerry 10 platform. The features shown off at the BlackBerry World conference included a unique platform-wide flow interface, a new intelligent keyboard, as well as a camera app which allows the user to adjust the photo or individual faces by moving through time scale to optimize picture quality. The user interface also includes the ability to run 8 "Active Frames". Active Frames are applications that are currently running within the operating system, but minimized. Some are capable of showing a feed of live information on the home screen. The Operating System also features the 'Hub', a list accessible from anywhere in the OS where all notifications including emails, social networking sites and text messages in one complete list. It eliminates the home button that are found in iOS and Android systems.
Blackberry Hub being viewed from Blackberry World on a Blackberry Z10
Features - Gestures
Gestures are largely integrated within the BlackBerry 10, featuring four main gestures for easy navigation. Quick swiping up from the bottom edge of the bezel will result in users returning to the home screen. From there, users can view and close active applications. Users can also swipe from the top edge, to bring down a quick setting shade on the home screen, or an option shade on other supported apps. Also, while using any application, the upside down J-hook (starting from the bottom of the bezel and moving upward and right) allows users to peek at any notifications or messages on the BlackBerry Hub.Finally, swiping left to right (or vice versa) scroll through the available screens.
Similar to BlackBerry Tablet OS, BlackBerry 10 OS also supports multitasking with gesture integration. Swiping up from any application brings up the running application screen, which function as an application switcher and a task manager. Users can switch through running applications by tapping on any of the apps or close them by tapping on the ‘X’ on the lower right of the app itself. Some apps also offer widget like functionality, similar to Android. Examples of this include, picture app cycling through a photo album or calendar app showing upcoming events and meetings. Users are currently limited to 8 running applications, which are displayed from most to least recently accessed.
BlackBerry Hub acts as a notification center, with the user’s entire social and email accounts integrated into one app. These include, at launch, standard E-mail client, Twitter, Facebook, BlackBerry Messenger (BBM), and LinkedIn (with options to turn any of these services off). Standard notifications like missed calls, voicemail, and system updates also appear on the hub. The hub can be accessible from any app/lock screen, by performing an upside down j-hook gesture. Users can perform various tasks like compose emails, send emails, and browse social networks, without accessing other apps. Developers are also given options to integrate apps into the Blackberry Hub.
BlackBerry Balance is a new feature introduced in BlackBerry 10, enabling users to keep both personal data and office work data separated in its own spaces. Using Blackberry Enterprise Service 10, IT departments can allow users to set up work-spaces that automatically install applications and email accounts. After completion, users can navigate between personal and work profiles, by swiping down on the apps page. All of the user’s data is secured via 256-bit AES encryption, and any files created will stay within the profile partition.
Time shift camera
BlackBerry 10 features camera software that takes multiple frames of every photo. This feature allows users to adjust a photo easily to correct issues such as closed eyes.
BBM video/screen share
BlackBerry's popular messaging application now includes the ability to video chat as well as the ability to share the contents of a user's BlackBerry screen with others.
BlackBerry 10 introduced an Android runtime layer. This allows developers to easily package and distribute their applications designed to work on the Gingerbread (Android 2.3) and below operating system. Gingerbread, however, is showing signs of age with waning usage. Less than 46% of Android devices connected to the Play store are running 2.3 or below. Because of this, Blackberry officially announced that it will soon update the runtime layer to include compatibility with Jelly Bean (Android 4.1) APIs.
BlackBerry 10 features a new virtual keyboard layout that mimics BlackBerry’s past generation’s physical keyboards. The letters and numbers feature fonts and frets similar to previous BlackBerry devices. The keyboard also learns the user’s typing preferences, trying to auto-predict the next word. The keyboard also uses contextual information to predict the next letter in a word sequence. In this case, words will appear above the letter that the OS thinks that the user will touch next. Users can then perform a flicking upwards gesture above the letter to quickly select that word. Also, swiping from right to left in keyboard deletes the entire word rather than using backspace to delete each character.
Voice Control was also introduced in BB10, allowing users to send BBMs, schedule meetings, update social networks, and open apps using natural speech patterns. Voice control can also be used for typing on any screen that accepts keyboard input.
BlackBerry Link allows users to sync and organize music, documents, photos, and videos between a BB10 device and a computer. It is compatible with Mac and PC, and supports iTunes and Windows Media Player. Syncs are done over Wi-Fi or USB. Blackberry Link also facilitates device switches from Android and iOS as well as BB10 software updates. Link transfers contacts, files, calendars, tasks, bookmarks, alarm clocks, SMS, phone logs, WLAN profiles and other information between devices.
BlackBerry 10 features a number of included applications that help users perform various tasks and activities. These include maps, Web browser, Remember (Sticky notes app), Docs to Go, Story Maker (video and music stitching app), calculator, clock, music, media, weather, and file manager. Cloud service integrations like Box and Dropbox are also integrated by default. In addition, BlackBerry's popular messaging service, BlackBerry Messenger is included with BlackBerry 10.
At the time of the release in January 2013, BlackBerry 10 operating system had 70,000 third party applications. This represents a substantial increase over the BlackBerry PlayBook which launched with only 3,000 third party applications. In end of March 2013, BlackBerry 10 has 100,000 apps, but still less of imaging favorites like Instagram and Snapseed. At BlackBerry Live 2013, BlackBerry announced that they had surpassed 120,000 apps, and that Skype would become available on the BlackBerry Z10.
Unlike the previous BlackBerry OS (but similar to the BlackBerry PlayBook), applications must be downloaded through BlackBerry's BlackBerry World storefront, which comes included with BlackBerry 10.
- iOS :
iOS (previously iPhone OS) is a mobile operating system developed and distributed by Apple Inc. Originally unveiled in 2007 for the iPhone, it has been extended to support other Apple devices such as the iPod Touch (September 2007), iPad (January 2010) and second-generation Apple TV (September 2010). Unlike Microsoft's Windows Phone and Google's Android, Apple does not license iOS for installation on non-Apple hardware. As of June 2013, Apple's App Store contained more than 900,000 iOS applications, 375,000 of which were optimised for iPad. These apps have collectively been downloaded more than 50 billion times. It had a 21% share of the smartphone mobile operating system units shipped in the fourth quarter of 2012, behind only Google's Android. In June 2012, it accounted for 65% of mobile web data consumption (including use on both the iPod Touch and the iPad). At the half of 2012, there were 410 million devices activated. According to the special media event held by Apple on September 12, 2012, 400 million devices had been sold by June 2012.
The user interface of iOS is based on the concept of direct manipulation, using multi-touch gestures. Interface control elements consist of sliders, switches, and buttons. Interaction with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific definitions within the context of the iOS operating system and its multi-touch interface. Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching from portrait to landscape mode).
iOS is derived from OS X, with which it shares the Darwin foundation and various application frameworks. iOS is Apple's mobile version of the OS X operating system used on Apple computers.
In iOS, there are four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. The current version of the operating system (iOS 6.1.3) dedicates 1-1.5 GB of the device's flash memory for the system partition, using roughly 800 MB of that partition (varying by model) for iOS itself.
On June 10, 2013, Apple announced iOS 7 at its annual WWDC conference.
iOS currently runs on the iPhone, iPad, iPod Touch and Apple TV.
The operating system was unveiled with the iPhone at the Macworld Conference & Expo, January 9, 2007, and released in June of that year. At first, Apple marketing literature did not specify a separate name for the operating system, stating simply that the "iPhone runs OS X". Initially, third-party applications were not supported. Steve Jobs' reasoning was that developers could build web applications that "would behave like native apps on the iPhone". On October 17, 2007, Apple announced that a native Software Development Kit (SDK) was under development and that they planned to put it "in developers' hands in February". On March 6, 2008, Apple released the first beta, along with a new name for the operating system: "iPhone OS".
Apple had released the iPod Touch, which had most of the non-phone capabilities of the iPhone. Apple also sold more than one million iPhones during the 2007 holiday season. On January 27, 2010, Apple announced the iPad, featuring a larger screen than the iPhone and iPod Touch, and designed for web browsing, media consumption, and reading iBooks.
In June 2010, Apple rebranded iPhone OS as "iOS". The trademark "IOS" had been used by Cisco for over a decade for its operating system, IOS, used on its routers. To avoid any potential lawsuit, Apple licensed the "IOS" trademark from Cisco.
By late 2011, iOS accounted for 60% of the market share for smartphones and tablet computers. By the end of 2012, iOS accounted for 21% of the smartphone OS market and 43.6% of the tablet OS market.
Apple provides major updates to the iOS operating system approximately once a year over iTunes and also, since iOS version 5.0, over the air. The latest unstable version of iOS is iOS 7, which will be available for the iPhone 4, iPhone 4S, iPhone 5, iPad 2, the 3rd Generation iPad and the fourth Generation iPad, the iPad mini and the fifth generation iPod touch. Before iOS 4's release in 2010, iPod Touch users had to pay for system software updates. Apple claimed that this was the case, because the iPod Touch was not a 'subscription device' like the iPhone (i.e. it was a one-off purchase). Apple claimed it had 'found a way' to deliver software updates for free to iPod Touch users at WWDC 2010, when iOS 4 was unveiled.
This section needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (June 2013)
The home screen (rendered by and also known as "SpringBoard") displays application icons and a dock at the bottom of the screen where users can pin their most frequently used apps. The home screen appears whenever the user unlocks the device or presses the "Home" button (a physical button on the device) whilst in another app. The screen has a status bar across the top to display data, such as time, battery level, and signal strength. The rest of the screen is devoted to the current application. When a passcode is set and a user switches on the device, the passcode must be entered at the Lock Screen before access to the Home Screen is granted.
Since iOS version 3.0, a Spotlight Search function has been available on the leftmost page of the home screen page allowing users to search through media (music, videos, podcasts, etc.), applications, e-mails, contacts, messages, reminders, calendar events, and similar files. Third-party app files were not, and still are not, searchable using the Spotlight feature.
In iOS 3.2 or later and with a supported device, the user can set a picture as the background of the home screen. This feature is only available on third-generation devices or newer - iPhone 3GS or newer, iPod Touch 3rd gen. or newer, and all iPad models.
Researchers found that users organize icons on their homescreens based on usage-frequency and relatedness of the applications, as well as for reasons of usability and aesthetics.
With iOS 4 came the introduction of a simple folder system. When applications are in "jiggle mode", any two (with the exception of Newsstand in iOS 5 and later, which acts like a folder) can be dragged on top of each other to create a folder, and from then on, more apps can be added to the folder using the same procedure, up to 12 on iPhone 4S and earlier and iPod Touch, 16 on iPhone 5, and 20 on iPad. A title for the folder is automatically selected by the category of applications inside, but the name can also be edited by the user. When apps inside folders receive badges, the numbers shown by the badges is added up and shown on the folder. Folders can't be put into other folders, but through exploiting iOS glitches, Newsstand and other folders can be forced to be placed into a folder. This is handy for some users who find the Newsstand functionality useless. However, upon attempting to open a folder/the Newsstand within a folder, the SpringBoard will crash.
Before iOS 5, notifications were delivered in blue dialog box. This system of notification management was greatly criticised. In the iOS 5 update, the notifications feature was completely redesigned. Notifications collate in a window which can be dragged down from the top of the screen. If a user touches a received notification, the application that sent the notification will be opened. Notifications are now delivered in small banners that appear over the status bar. The old method of delivering notifications is still available from Notification Settings if the user wishes to enable it for some or all applications.
When an app sends a notification whilst closed, a red badge will appear on its icon. This badge tells the user, at a glance, how many notifications that app has sent. Opening the app clears the badge.
Before iOS 4, multitasking was limited to a selection of the applications Apple included on the device. Users could, however "jailbreak" their device in order to unofficially multitask. Starting with iOS 4, on third-generation and newer iOS devices, multitasking is supported through seven background APIs:Background audio - application continues to run in the background as long as it is playing audio or video content Voice over IP - application is suspended when a phone call is not in progress Background location - application is notified of location changes
Local notifications - application schedules local notifications to be delivered at a predetermined time
Task completion - application asks the system for extra time to complete a given task
Fast app switching - application does not execute any code and may be removed from memory at any time
In iOS 5, three new background APIs were introduced:
- Newsstand - application can download content in the background to be ready for the user
- External Accessory - application communicates with an external accessory and shares data at regular intervals
- Bluetooth Accessory - application communicates with a bluetooth accessory and shares data at regular intervals
- In iOS 7, Apple introduced a new multitasking feature, providing all apps with the ability to perform background updates. This feature prefers to update the user's most frequently used apps and prefers to use WiFi networks over a cellular network, without markedly reducing the device's battery life.
In iOS 4.0 to iOS 6.x, double-clicking the home button activates the application switcher. A scrollable dock-like interface appears from the bottom, moving the contents of the screen up. Choosing an icon switches to an application. To the far left are icons which function as music controls, a rotation lock, and on iOS 4.2 and above, a volume controller. Holding the icons briefly makes them "jiggle" (similarly to the homescreen) and allows the user to force quit the applications by simply tapping the red minus circle that appears at the corner of the app's icon. With the introduction of iOS 7, double clicking the home button also activates the application switcher. However, unlike previous versions it will now display screenshots of open applications on top of the icon and horizontal scrolling allows for browsing through previous apps. iOS 7 also introduces a faster way for a user to close apps by flicking the screenshot of the app upward.
Siri is an intelligent personal assistant and knowledge navigator which works as an application on supported devices. The service, directed by the user's spoken commands, can do a variety of different tasks, such as call or text someone, open an app, search the web, lookup sports information, find directions or locations, and answer general knowledge questions (e.g. "How many cups are in a gallon?"). Siri was updated in iOS 7 with a new interface, faster answers, Wikipedia, Twitter, and Bing support and the voice was changed to sound more human. Siri is currently only available on iPhone 4S, iPhone 5, fifth-generation iPod Touch, iPad Mini, third- and fourth-generation iPad.
Game Center is an online multiplayer "social gaming network" released by Apple. It allows users to "invite friends to play a game, start a multiplayer game through matchmaking, track their achievements, and compare their high scores on a leader board." iOS 5 and above adds support for profile photos.
Game Center was announced during an iOS 4 preview event hosted by Apple on April 8, 2010. A preview was released to registered Apple developers in August. It was released on September 8, 2010 with iOS 4.1 on iPhone 4, iPhone 3GS, and iPod Touch 2nd generation through 4th generation. Game Center made its public debut on the iPad with iOS 4.2.1. There is no support for the iPhone 3G, original iPhone and the first-generation iPod Touch (the latter two devices didn't get Game Center because they didn't get iOS 4). However, Game Center is unofficially available on the iPhone 3G via a hack.
The applications must be written and compiled specifically for iOS and the ARM architecture. The Safari web browser supports web applications as with other web browsers. Authorized third-party native applications are available for devices running iOS 2.0 and later through Apple's App Store. A Q3 2013 study found that mobile developers use iOS as a primary platform more than Android (59% vs. 49%), despite Android being a more popular platform overall.
iOS SDK 6.1 included in Xcode 4.6 : On October 17, 2007, in an open letter posted to Apple's "Hot News" weblog, Steve Jobs announced that a software development kit (SDK) would be made available to third-party developers in February 2008. The SDK was released on March 6, 2008, and allows developers to make applications for the iPhone and iPod Touch, as well as test them in an "iPhone simulator". However, loading an application onto the devices is only possible after paying an iPhone Developer Program fee.
The fees to join the respective developer programs for iOS and OS X were each set at $99.00 per year. As of July 20, 2011, Apple released Xcode on its Mac App Store free to download for all OS X Lion users, instead of as a standalone download. Users can create and develop iOS and OS X applications using a free copy of Xcode; however, they cannot test their applications on a physical iOS device, or publish them to the App store, without first paying the $99.00 iPhone Developer or Mac Developer Program fee.
Since the release of Xcode 3.1, Xcode is the development environment for the iOS SDK. iPhone applications, like iOS and OS X, are written in Objective-C.
Developers are able to set any price above a set minimum for their applications to be distributed through the App Store, keeping 70% for the developer, and leaving 30% for Apple. Alternatively, they may opt to release the application for free and need not pay any costs to release or distribute the application except for the membership fee.
Since its initial release, iOS has been subject to a variety of different hacks centered around adding functionality not allowed by Apple. Prior to the 2008 debut of the native iOS App Store, the primary motive for jailbreaking was to install third-party native applications, which was not allowed by Apple at the time. Apple claimed that it will not release iOS software updates designed specifically to break these tools (other than applications that perform SIM unlocking); however, with each subsequent iOS update, previously un-patched jailbreak exploits are usually patched.
Since the arrival of Apple's native iOS App Store, and along with it - third-party applications, the general motives for jailbreaking have changed. People jailbreak for many different reasons, including gaining filesystem access, installing custom device themes, and modifying the device SpringBoard. On some devices, jailbreaking also makes it possible to install alternative operating systems, such as Android and the Linux kernel. Primarily, users jailbreak their devices because of the limitations of iOS. It should be noted that depending on the method used, the effects of jailbreaking may be permanent, or can be restored to the original state.
In 2010, the Electronic Frontier Foundation (EFF) successfully convinced the U.S. Copyright Office to allow an exemption to the general prohibition on circumvention of copyright protection systems under the Digital Millennium Copyright Act (DMCA). The exemption allows jailbreaking of iPhones for the sole purpose of allowing legally obtained applications to be added to the iPhone. The exemption does not affect the contractual relations between Apple and an iPhone owner, for example, jailbreaking voiding the iPhone warranty; however, it is solely based on Apple's discretion on whether they will fix jailbroken devices in the event that they need to be repaired. At the same time, the Copyright Office exempted unlocking an iPhone from DMCA's anticircumvention prohibitions. Unlocking an iPhone allows the iPhone to be used with any wireless carrier using the same GSM or CDMA technology for which the particular phone model was designed to operate.
Initially most wireless carriers did not allow iPhone owners to unlock an iPhone for use with other carriers. AT&T Mobility allows iPhone owners who have satisfied the requirements of their contract to unlock their iPhone. Instructions to unlock the device are available from Apple, but it is ultimately the sole discretion of the carrier to authorize the device to be unlocked. This allows the use of a carrier sourced iPhone on other networks. However, because T-Mobile primarily uses a different band than AT&T for its 3G data signals, the iPhone will only work at 3G speeds on the T-Mobile 1900MHz network. There are programs to break these restrictions, but are not supported by Apple and most often not a permanent unlock, known as soft-unlock.
Digital rights management
The closed and proprietary nature of iOS has garnered criticism, particularly by digital rights advocates such as the Electronic Frontier Foundation, computer engineer and activist Brewster Kahle, Internet-law specialist Jonathan Zittrain, and the Free Software Foundation who protested the iPad's introductory event and have targeted the iPad with their "Defective by Design" campaign. Competitor Microsoft, via a PR spokesman, criticized Apple's control over its platform.
At issue are restrictions imposed by the design of iOS, namely digital rights management (DRM) intended to lock purchased media to Apple's platform, the development model (requiring a yearly subscription to distribute apps developed for the iOS), the centralized approval process for apps, as well as Apple's general control and lockdown of the platform itself. Particularly at issue is the ability for Apple to remotely disable or delete apps at will.
Some in the tech community have expressed concern that the locked-down iOS represents a growing trend in Apple's approach to computing, particularly Apple's shift away from machines that hobbyists can "tinker with" and note the potential for such restrictions to stifle software innovation. Former Facebook developer Joe Hewitt protested against Apple's control over its hardware as a "horrible precedent" but praised iOS's sandboxing of apps.
The iOS kernel is based on Darwin OS. The original iPhone OS (1.0) up to iPhone OS 3.1.3 used Darwin 9.0.0d1. iOS 4 was based on Darwin 10.0.0. iOS 5 was based on Darwin 11.0.0, and iOS 6's kernel (the current iOS operating system) is based on Darwin 13.0.0. iOS 7 uses Darwin 14.0.0 (Darwin Kernel Version)
- Palm OS :
Palm OS (also known as Garnet OS) is a mobile operating system initially developed by Palm, Inc., for personal digital assistants (PDAs) in 1996. Palm OS is designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management. Later versions of the OS have been extended to support smartphones. Several other licensees have manufactured devices powered by Palm OS.
Following Palm's purchase of the Palm trademark, the currently licensed version from ACCESS was renamed Garnet OS. In 2007, ACCESS introduced the successor to Garnet OS, called Access Linux Platform and in 2009, the main licensee of Palm OS, Palm, Inc., switched from Palm OS to webOS for their forthcoming devices.
Creator and ownership
Palm OS was originally developed under the direction of Jeff Hawkins at Palm Computing, Inc. Palm was later acquired by U.S. Robotics Corp., which in turn was later bought by 3Com, which made the Palm subsidiary an independent publicly traded company on March 2, 2000.
In January 2002, Palm set up a wholly owned subsidiary to develop and license Palm OS, which was named PalmSource. PalmSource was then spun off from Palm as an independent company on October 28, 2003. Palm (then called palmOne) became a regular licensee of Palm OS, no longer in control of the operating system.
In September 2005, PalmSource announced that it was being acquired by ACCESS.
In December 2006, Palm gained perpetual rights to the Palm OS source code from ACCESS. With this Palm can modify the licensed operating system as needed without paying further royalties to ACCESS. Together with the May 2005 acquisition of full rights to the Palm brand name, only Palm can publish releases of the operating system under the name 'Palm OS'.
As a consequence, on January 25, 2007, ACCESS announced a name change to their current Palm OS operating system, now titled Garnet OS.
Palm OS is a proprietary mobile operating system. Designed in 1996 for Palm Computing, Inc.'s new Pilot PDA, it has been implemented on a wide array of mobile devices, including smartphones, wrist watches, handheld gaming consoles, barcode readers and GPS devices. Palm OS versions earlier than 5.0 run on Motorola/Freescale DragonBall processors. From version 5.0 onwards, Palm OS runs on ARM architecture-based processors.
- The key features of the current Palm OS Garnet are:
- Simple, single-tasking environment to allow launching of full screen applications with a basic, common GUI set
- Monochrome or color screens with resolutions up to 480x320 pixel
- Handwriting recognition input system called Graffiti 2
- HotSync technology for data synchronization with desktop computers
- Sound playback and record capabilities
- Simple security model: Device can be locked by password, arbitrary application records can be made private
- TCP/IP network access
- Serial port/USB, infrared, Bluetooth and Wi-Fi connections
- Expansion memory card support
- Defined standard data format for personal information management applications to store calendar, address, task and note entries, accessible by third-party applications.
- Included with the OS is also a set of standard applications, with the most relevant ones for the four mentioned PIM operations.
Version history and technical background
Manufacturers are free to implement different features of the OS in their devices or even add new features. This version history describes the officially licensed version from Palm/PalmSource/ACCESS.
All versions prior to Palm OS 5 are based on top of the AMX 68000 kernel licensed from KADAK Products Ltd. While this kernel is technically capable of multitasking, the "terms and conditions of that license specifically state that Palm may not expose the API for creating/manipulating tasks within the OS."
Palm OS 1.0
Palm OS 1.0 is the original version present on the Pilot 1000 and 5000.
Version 1.0 features the classic PIM applications Address, Date Book, Memo Pad, and To Do List. Also included is a calculator and the Security tool to hide records for private use.
Palm OS 1.0 does not differentiate between RAM and file system storage. Applications are installed directly into RAM and executed in place. As no dedicated file system is supported, the operation system depends on constant RAM refresh cycles to keep its memory. The OS supports 160x160 monochrome output displays. User input is generated through the Graffiti handwriting recognition system or optionally through a virtual keyboard. The system supports data synchronization to another PC via its HotSync technology over a serial interface. The latest bugfix release is version 1.0.7.
Palm OS 2.0
Palm OS 2.0 was introduced on March 10, 1997 with the PalmPilot Personal and Professional. This version adds TCP/IP network, network HotSync, and display backlight support. The last bugfix release is version 2.0.5.
Two new applications, Mail and Expense are added, and the standard PIM applications have been enhanced.
Palm OS 3.0
Palm OS 3.0 was introduced on March 9, 1998 with the launch of the Palm III series. This version adds IrDA infrared and enhanced font support. This version also features updated PIM applications and an update to the application launcher.
Palm OS 3.1 adds only minor new features, like network HotSync support. It was introduced with the Palm IIIx and Palm V.
Palm OS 3.2 adds Web Clipping support, which is an early Palm-specific solution to bring web-content to a small PDA screen. It was introduced with the Palm VII organizer.
Palm OS 3.3 adds faster HotSync speeds and the ability to do infrared hotsyncing. It was introduced with the Palm Vx organizer.
Palm OS 3.5 is the first version to include native 8-bit color support. It also adds major convenience features that simplify operation, like a context-sensitive icon-bar or simpler menu activation. The datebook application is extended with an additional agenda view. This version was first introduced with the Palm IIIc device. The latest bugfix release is version 3.5.3.
As a companion, Palm later offered a Mobile Internet Kit software upgrade for Palm OS 3.5. This included Palm's Web Clipping software, MultiMail (which was later renamed to VersaMail) Version 2.26 e-mail software, handPHONE Version 1.3 SMS software, and Neomar Version 1.5 WAP browser.
Palm OS 4.0
Palm OS 4.0 was released with the new Palm m500 series on March 19, 2001. This version adds a standard interface for external file system access (such as SD cards). External file systems are a radical change to the operating system's previous in-place execution. Now, application code and data need to be loaded into the device's RAM, similar to desktop operating system behavior. A new Universal Connector with USB support is introduced. The previous optional Mobile Internet Kit is now part of the operating system. Version 4.0 adds an attention manager to coordinate information from different applications, with several possibilities to get the user's attention, including sound, LED blinking or vibration. 16-bit color screens and different time zones are supported. This version also has security and UI enhancements.
Palm OS 4.1 is a bugfix release. It was introduced with the launch of the Palm i705. The later minor OS update to version 4.1.2 includes a backport of Graffiti 2 from Palm OS 5.2.
Palm OS 4.2 Simplified Chinese Edition is targeted especially for the Chinese market with fully Simplified Chinese support, co-released with Palm OS 5.3. No device has been manufactured with this version up to now.
Palm OS 5 (Garnet)
Palm OS 5 (not called 5.0) was unveiled by the Palm subsidiary PalmSource in June 2002 and first implemented on the Palm Tungsten T. It is the first version released to support ARM devices, with support for DragonBall applications through the Palm Application Compatibility Environment (PACE) emulator. Even with the additional overhead of PACE, Palm applications usually run faster on ARM devices than on previous generation hardware. New software can take advantage of the ARM processors with small units of ARM code, referred to as ARMlets.
With a more powerful hardware basis, Palm OS is substantially enhanced for multimedia capabilities. High density 320x320 screens are supported together with a full digital sound playback and record API. Palm's separate Bluetooth stack is added together with an IEEE 802.11b Wi-Fi stack. Secure network connections over SSL are supported. The OS can be customized with different color schemes.
For Palm OS 5, PalmSource developed and licensed a web browser called PalmSource Web Browser, which is based on ACCESS' NetFront 3.0 browser.
Palm OS 5.2 is mainly a bugfix release, first implemented in the Samsung SGH-i500. It provides support for 480x320 resolutions and introduces a new handwriting input system called Graffiti 2, due to the lost lawsuit against Xerox. Graffiti 2 is based on Jot from CIC. The latest bugfix release is version 5.2.8.
Palm OS 5.3 Simplified Chinese Edition provides full Simplified Chinese support, further adds support for QVGA resolutions, and a standard API for virtual Graffiti called Dynamic Input Area. This version was first introduced with Lenovo's P100 and P300 handhelds.
Palm OS Garnet (5.4) officially provides support for multiple screen resolutions, ranging from 160x160 up to 480x320. It also features updated Bluetooth libraries. This version introduces the Garnet moniker to distinguish it from Palm OS Cobalt 6.0. The latest bugfix release is version 5.4.9.
Garnet OS 5.5 is the current version developed by ACCESS. This version is dedicated to be run inside the Garnet VM virtual machine. Garnet VM is a core part of Access Linux Platform and also available for Nokia Internet Tablets.
Palm OS Cobalt
Palm OS Cobalt (6.0) was the designated successor for Palm OS 5. It was introduced on February 10, 2004, but is not offered anymore from ACCESS (see next section). Palm OS 6.0 was renamed to Palm OS Cobalt to make clear that this version was initially not designated to replace Palm OS 5, which adopted the name Palm OS Garnet at the same time.
Palm OS Cobalt introduced modern operating system features to an embedded operating system based on a new kernel with multitasking and memory protection, a modern multimedia and graphic framework (derived from Palm's acquired BeOS), new security features, and adjustments of the PIM file formats to better cooperate with Microsoft Outlook.
Palm OS Cobalt 6.1 presented standard communication libraries for telecommunication, Wi-Fi, and Bluetooth connectivity. Despite other additions, it failed to interest potential licensees to Palm OS Cobalt.
Third party OS enhancements
Several licensees have made custom modifications to the operating system. These are not part of the official licensed version.
Palm developed a Bluetooth API for external Bluetooth SDIO Cards for Palm OS 4.0 devices. The Bluetooth stack was later included in Palm OS 5
Palm added a virtual graffiti input area API especially for their Tungsten T3 device. This API was later superseded by the official Dynamic Input Area API in Palm OS 5.3.
Palm added to Palm OS 5.4 the Non-Volatile File System, and used Flash for storage instead of DRAM, preventing data-loss in the event of battery drain. However, this fundamentally changed the way programs were executed from the Execute-in-Place system that Palm OS traditionally used, and has been the source of many compatibility problems, requiring many applications to have explicit NVFS support added for them to become stable.
For their camera-equipped devices, Palm added the CameraLib API.
Sony added a library to support JogDial input available on their CLIÉ organizers.
For several years, PalmSource had been attempting to create a modern successor for Palm OS 5 and have licensees implement it. Although PalmSource shipped Palm OS Cobalt 6.0 to licensees in January 2004, none adopted it for release devices. PalmSource made major improvements to Palm OS Cobalt with the release of Palm OS Cobalt 6.1 in September 2004 to please licensees, but even the new version did not lead to production devices.
In December 2004, PalmSource announced a new OS strategy. With the acquisition of the mobile phone software company China Mobilesoft, PalmSource planned to port Palm OS on top of a Linux kernel, while still offering both Palm OS Garnet and Palm OS Cobalt. This strategy was revised in June 2005, when still no device with Palm OS Cobalt was announced. PalmSource announced it was halting all development efforts on any product not directly related to its future Linux based platform.
With the acquisition of PalmSource by ACCESS, Palm OS for Linux was changed to become the ACCESS Linux Platform which was first announced in February 2006. The initial versions of the platform and software development kits for the ACCESS Linux Platform were officially released in February 2007. As of January 2011, the ACCESS Linux Platform has yet to ship on devices, however development kits exists and public demonstrations have been showcased.
Palm, Inc. the main licensee of Palm OS Garnet did not license ACCESS Linux Platform for their own devices. Instead, Palm developed another Linux-based operating system called Palm webOS. On February 11, 2009, Palm CEO Ed Colligan said there would be no additional Palm OS devices (excepting the Centro being released to other carriers). Palm is focusing on Palm webOS and Windows Mobile devices. On April 1, 2009, Palm announced the availability of a Palm OS emulator for its webOS.
- WebOS :
Open WebOS is a Linux operating system for smart TVs, and formerly a mobile operating system. Initially developed by Palm, which was later acquired by Hewlett-Packard and then LG Electronics. The official name is webOS, uncapitalised, but WebOS is also used. Palm launched WebOS in January 2009, then called Palm WebOS. Various versions of WebOS have been featured on several devices, including Pre, Pixi, and Veer phones and the HP TouchPad tablet. The latest version, 3.0.5, was released on January 12, 2012.
After the failure of the HP TouchPad and the proposed sale of the HP Personal Systems Group, HP made the platform open source, and it became Open WebOS. Code specific to the existing devices was released as WebOS Community Edition (CE), with support for the existing HP hardware. Open WebOS includes open source libraries designed to target a wider range of hardware.
On February 25, 2013 it was announced that HP will be selling WebOS to LG Electronics, who plan to use the operating system for its "smart" or Internet-connected TVs. However HP will still hold on to patents underlying WebOS as well as cloud-based services such as the App Catalog. Despite WebOS now living on for smart televisions, LG has not ruled out the possibility of a WebOS smartphone, of which the OS was originally developed for by Palm.
Palm launched WebOS in January 2009 as the successor to Palm OS. The first WebOS device was the original Palm Pre, released by Sprint in June 2009. The Palm Pixi followed. Upgraded "Plus" versions of both Pre and Pixi were released on Verizon and AT&T.
In April 2010, HP acquired Palm; WebOS was described as a key asset and motivation for the purchase. The $1.2 billion acquisition finalized in June. HP indicated its intention to develop the WebOS platform for use in multiple new products, including smartphones, tablet computers, and printers.
HP WebOS logo
In February 2011, HP announced that it would use WebOS as the universal platform for all its devices. However, HP also made the decision that the Palm Pre, Palm Pixi, and the "Plus" revisions would not receive over-the-air updates to WebOS 2.0, despite a previous commitment to an upgrade "in coming months". HP announced several new WebOS devices, including the HP Veer and HP Pre 3 smartphones, running WebOS 2.2, and the HP TouchPad, a tablet computer released in July 2011 that runs WebOS 3.0.
In March 2011, HP announced plans for a version of WebOS by the end of 2011 to run within Windows, and to be installed on all HP desktop and notebook computers in 2012. Neither ever materialized, although work had begun on an x86 port around this time involving a team in Fort Collins, Colorado. Work was scrapped later in the year.
In August 2011, HP announced that it was interested in selling its Personal Systems Group, responsible for all of its consumer PC products, including WebOS, and that WebOS device development and production lines would be halted. It was unclear whether HP would consider licensing of WebOS software to other manufacturers. When HP reduced the price of the Touchpad to $99, the existing inventory quickly sold out.
The HP Pre 3 was launched in select areas of Europe, and US-based units were available only through unofficial channels as both AT&T and Verizon canceled their orders just prior to delivery after Apotheker's announcement. Notably, these U.S. Pre 3 units, having been released through unofficial channels, lacked both warranties and carried no support obligation from HP; as a result parts are nearly impossible to come by. HP announced that it would continue to issue updates for the HP Veer and HP TouchPad, but these updates have failed to materialize for the former, and the latter saw a final, unofficial release called WebOS CE that contained only open-sourced components of WebOS meant for what remained of the developer community rather than a conventional, user-centric update to the operating system.
In December 2011, HP announced it would release WebOS source code in the near future under an open-source license. In August 2012, HP renamed its WebOS unit as "Gram".
As of February 25, 2013 it was announced that HP is licensing WebOS to LG Electronics for use on its web-enabled Smart TVs. LG Electronics shall be allowed access to the documentation, source code, developers and related websites.
- The HP Touchpad tablet runs WebOS
- The Palm Pre, the Palm Pre Plus, the Palm Pixi, and Palm Pixi Plus run WebOS version 1.4.5.
- The Pre 2, Pre 3, and the Veer run WebOS version 2.X.X
- The HP TouchPad runs WebOS version 3.0.X.
Multitasking Application Interface
Navigation uses multi-touch gestures on the touchscreen. The interface uses "cards" to manage multitasking and represent apps. The user switches between running applications by a flicking gesture from left and right on the screen. Applications are closed by flicking a "card" up - and "off" the screen. The application "cards" can be rearranged for organization. In WebOS 2.0 introduced Stacks, where related cards could be "stacked" together.
Over the air (OTA) updates
the OS could be updated without docking to a PC, instead receiving OS updates over the carrier connection.
Palm referred to integration of information from many sources as "Synergy". Users can sign into multiple email accounts from different providers and integrate all of these sources into a single list. Similar capabilities pull together calendars and also instant messages and SMS text messages from multiple sources.
The notification area is located on the bottom portion of the screen on phones, and on the top status bar area on tablets. On phones, when a notification comes in, it slides in from the bottom of the screen. Due to the resizable nature of the Mojo and Enyo application frameworks, the app usually resizes itself to allow unhindered use while the notification is displayed. After the notification slides away, it usually remains as an icon. The user can then tap on the icons to expand them. Notifications can then be dismissed (sliding off the screen), acted upon (tapping), or left alone.
By default, data synchronization uses a cloud-based approach rather than using a desktop sync client, but various third-party sync clients are available. The first version of WebOS shipped with the ability to sync with Apple's iTunes software by masquerading as an Apple device, but this feature was disabled by subsequent software updates from Apple.
Officially vetted third-party applications are accessible from the device for wireless download by using the App Catalog.
Another source of applications is homebrew software. Homebrew applications are not directly supported by HP. Programs used to distribute homebrew WebOS applications include WebOS Quick Install (Java-based for Desktop computers), and Preware (a homebrew WebOS app catalog, which must be sideloaded to install.) If software problems do occur after installing homebrew programs, WebOS Doctor (provided by HP) can restore a phone back to factory settings and remove most changes made by homebrew apps and patches.
As WebOS replaced Palm OS, Palm commissioned MotionApps to code and develop an emulator called Classic, to enable backward compatibility to Palm OS applications. This operates with WebOS version 1. PalmOS emulation was discontinued in WebOS version 2.0. MotionApps disengaged from Classic in 2010, citing HP Palm as "disruptive".
Underneath the graphical user interface, WebOS has much in common with mainstream Linux distributions. Versions 1.0 to 2.1 use a patched Linux 2.6.24 kernel.
The list of open-source components used by the different releases of WebOS, as well as the source code of and patches applied to each component, is available at the Palm Open Source web page. This page also serves as a reference listing of the versions of WebOS that have been publicly released.
In 2011, Enyo replaced Mojo, released in June 2009, as the software development kit (SDK).
HP provides resources for WebOS developers and instructions for enrolling in the HP Palm Developer Program.
The WebOS Development Center also has quick start guides that help ease the transition from iOS, web, and C/C++ development.
- Symbian :
Symbian is a mobile operating system (OS) and computing platform designed for smartphones and currently maintained by Accenture. Symbian was originally developed by Symbian Ltd., as a descendant of Psion's EPOC and runs exclusively on ARM processors, although an unreleased x86 port existed. The current form of Symbian is an open-source platform developed by Symbian Foundation in 2009, as the successor of the original Symbian OS. Symbian was used by many major mobile phone brands, like Samsung, Motorola, Sony Ericsson, and above all by Nokia. It was the most popular smartphone OS on a worldwide average until the end of 2010, when it was overtaken by Android.
Symbian rose to fame from its use with the S60 platform built by Nokia, first released in 2002 and powering most Nokia smartphones. UIQ, another Symbian platform, ran in parallel, but these two platforms were not compatible with each other. Symbian^3, was officially released in Q4 2010 as the successor of S60 and UIQ, first used in the Nokia N8, to use a single platform for the OS. In May 2011 an update, Symbian Anna, was officially announced, followed by Nokia Belle (previously Symbian Belle) in August 2011.
On 11 February 2011, Nokia announced that it would use Microsoft's Windows Phone OS as its primary smartphone platform, and Symbian will be its franchise platform, dropping Symbian as its main smartphone OS of choice. On 22 June 2011 Nokia made an agreement with Accenture for an outsourcing program. Accenture will provide Symbian-based software development and support services to Nokia through 2016; about 2,800 Nokia employees became Accenture employees as of October 2011. The transfer was completed on 30 September 2011. The Nokia 808 PureView was officially the last Symbian smartphone.
Symbian originated from EPOC, an operating system created by Psion in the 1980s. In June 1998, Psion Software became Symbian Ltd., a major joint venture between Psion and phone manufacturers Ericsson, Motorola, and Nokia.
Afterwards, different software platforms were created for Symbian, backed by different groups of mobile phone manufacturers. They include S60 (Nokia, Samsung and LG), UIQ (Sony Ericsson and Motorola) and MOAP(S) (Japanese only such as Fujitsu, Sharp etc.).
In June 2008, Nokia announced the acquisition of Symbian Ltd., and a new independent non-profit organization called the Symbian Foundation was established. Symbian OS and its associated user interfaces S60, UIQ and MOAP(S) were contributed by their owners Nokia, NTT DoCoMo, Sony Ericsson and Symbian Ltd., to the foundation with the objective of creating the Symbian platform as a royalty-free, open source software, under the OSI- and FSF-approved Eclipse Public License (EPL). The platform has been designated as the successor to Symbian OS, following the official launch of the Symbian Foundation in April 2009. The Symbian platform was officially made available as open source code in February 2010.
Nokia became the major contributor to Symbian's code, since it then possessed the development resources for both the Symbian OS core and the user interface. Since then Nokia has been maintaining its own code repository for the platform development, regularly releasing its development to the public repository. Symbian was intended to be developed by a community led by the Symbian Foundation, which was first announced in June 2008 and which officially launched in April 2009. Its objective was to publish the source code for the entire Symbian platform under the OSI- and FSF-approved Eclipse Public License (EPL). The code was published under EPL on 4 February 2010; Symbian Foundation reported this event to be the largest codebase moved to Open Source in history.
However, some important components within Symbian OS were licensed from third parties, which prevented the foundation from publishing the full source under EPL immediately; instead much of the source was published under a more restrictive Symbian Foundation License (SFL) and access to the full source code was limited to member companies only, although membership was open to any organisation.
In November 2010, the Symbian Foundation announced that due changes in global economic and market conditions (and also a lack of support from members such as Samsung and Sony Ericsson), it would transition to a licensing-only organisation; Nokia announced it would take over the stewardship of the Symbian platform. Symbian Foundation will remain the trademark holder and licensing entity and will only have non-executive directors involved.
On 11 February 2011, Nokia announced a partnership with Microsoft that would see it adopt Windows Phone as its primary smartphone platform, and Symbian will be its franchise platform (dropping Symbian as its main smartphone OS of choice). As a consequence, the use of the Symbian platform for building mobile applications dropped rapidly. Research in June 2011 indicated that over 39% of mobile developers using Symbian at the time of publication were planning to abandon the platform.
By 5 April 2011, Nokia ceased to openly source any portion of the Symbian software and reduced its collaboration to a small group of pre-selected partners in Japan. Source code released under the EPL remains available in third party repositories.
On 22 June 2011, Nokia made an agreement with Accenture for an outsourcing program. Accenture will provide Symbian-based software development and support services to Nokia through 2016; about 2,800 Nokia employees became Accenture employees as of October 2011. The transfer was completed on 30 September 2011.
As of 2010, the SDK for Symbian is standard C++, using Qt. It can be used with either Qt Creator, or Carbide (the older IDE previously used for Symbian development). A phone simulator allows testing of Qt apps. Apps compiled for the simulator are compiled to native code for the development platform, rather than having to be emulated. Application development can either use C++ or QML.
As Symbian OS is written in C++ using Symbian Software's coding standards, it is possible to develop using Symbian C++, although it is not a standard implementation. Before the release of the Qt SDK, this was the standard development environment. There were multiple platforms based on Symbian OS that provided software development kit (SDKs) for application developers wishing to target Symbian OS devices, the main ones being UIQ and S60. Individual phone products, or families, often had SDKs or SDK extensions downloadable from the maker's website too.
The SDKs contain documentation, the header files and library files needed to build Symbian OS software, and a Windows-based emulator ("WINS"). Up until Symbian OS version 8, the SDKs also included a version of the GNU Compiler Collection (GCC) compiler (a cross-compiler) needed to build software to work on the device.
Symbian OS 9 and the Symbian platform use a new application binary interface (ABI) and needed a different compiler. A choice of compilers is available including a newer version of GCC
Unfortunately, Symbian C++ programming has a steep learning curve, as Symbian C++ requires the use of special techniques such as descriptors, active objects and the cleanup stack. This can make even relatively simple programs initially harder to implement than in other environments. It is possible that the techniques, developed for the much more restricted mobile hardware and compilers of the 1990s, caused extra complexity in source code because programmers are required to concentrate on low-level details instead of more application-specific features. As of 2010, these issues are no longer the case when using standard C++, with the Qt SDK.
Symbian C++ programming is commonly done with an integrated development environment (IDE). For earlier versions of Symbian OS, the commercial IDE CodeWarrior for Symbian OS was favoured. The CodeWarrior tools were replaced during 2006 by Carbide.c++, an Eclipse-based IDE developed by Nokia. Carbide.c++ is offered in four different versions: Express, Developer, Professional, and OEM, with increasing levels of capability. Fully featured software can be created and released with the Express edition, which is free. Features such as UI design, crash debugging etc. are available in the other, charged-for, editions. Microsoft Visual Studio 2003 and 2005 are also supported via the Carbide.vs plugin.
Symbian v9.1 with a S60v3 interface, on a Nokia E61
Symbian devices can also be programmed using Python, Java ME, Flash Lite, Ruby, .NET, Web Runtime (WRT) Widgets and Standard C/C++.
Visual Basics programmers can use NS Basic to develop apps for S60 3rd Edition and UIQ 3 devices.
In the past, Visual Basic, Visual Basic .NET, and C# development for Symbian were possible through AppForge Crossfire, a plugin for Microsoft Visual Studio. On 13 March 2007 AppForge ceased operations; Oracle purchased the intellectual property, but announced that they did not plan to sell or provide support for former AppForge products. Net60, a .NET compact framework for Symbian, which is developed by redFIVElabs, is sold as a commercial product. With Net60, VB.NET and C# (and other) source code is compiled into an intermediate language (IL) which is executed within the Symbian OS using a just-in-time compiler. (As of 18/1/10 RedFiveLabs has ceased development of Net60 with this announcement on their landing page: "At this stage we are pursuing some options to sell the IP so that Net60 may continue to have a future".)
There is also a version of a Borland IDE for Symbian OS. Symbian OS development is also possible on Linux and Mac OS X using tools and methods developed by the community, partly enabled by Symbian releasing the source code for key tools. A plugin that allows development of Symbian OS applications in Apple's Xcode IDE for Mac OS X was available.
Java ME applications for Symbian OS are developed using standard techniques and tools such as the Sun Java Wireless Toolkit (formerly the J2ME Wireless Toolkit). They are packaged as JAR (and possibly JAD) files. Both CLDC and CDC applications can be created with NetBeans. Other tools include SuperWaba, which can be used to build Symbian 7.0 and 7.0s programs using Java.
Nokia S60 phones can also run Python scripts when the interpreter Python for S60 is installed, with a custom made API that allows for Bluetooth support and such. There is also an interactive console to allow the user to write Python scripts directly from the phone.
Once developed, Symbian applications need to find a route to customers' mobile phones. They are packaged in SIS files which may be installed over-the-air, via PC connect, Bluetooth or on a memory card. An alternative is to partner with a phone manufacturer and have the software included on the phone itself. Applications must be Symbian Signed for Symbian OS 9.x in order to make use of certain capabilities (system capabilities, restricted capabilities and device manufacturer capabilities). Applications can now be signed for free.
Technology domains and packages
Symbian's design is subdivided into technology domains, each of which comprises a number of software packages. Each technology domain has its own roadmap, and the Symbian Foundation has a team of technology managers who manage these technology domain roadmaps.
Every package is allocated to exactly one technology domain, based on the general functional area to which the package contributes and by which it may be influenced. By grouping related packages by themes, the Symbian Foundation hopes to encourage a strong community to form around them and to generate discussion and review.
The Symbian System Model illustrates the scope of each of the technology domains across the platform packages.
Packages are owned and maintained by a package owner, a named individual from an organization member of the Symbian Foundation, who accepts code contributions from the wider Symbian community and is responsible for package.
The Symbian kernel (EKA2) supports sufficiently fast real-time response to build a single-core phone around it that is, a phone in which a single processor core executes both the user applications and the signalling stack. The real-time kernel has a microkernel architecture containing only the minimum, most basic primitives and functionality, for maximum robustness, availability and responsiveness. It has been termed a nanokernel, because it needs an extended kernel to implement any other abstractions. It contains a scheduler, memory management and device drivers, with networking, telephony and file system support services in the OS Services Layer or the Base Services Layer. The inclusion of device drivers means the kernel is not a true microkernel.
- Windows Mobile :
Windows Mobile is a family of mobile operating systems developed by Microsoft for smartphones and Pocket PCs. Windows Mobile is the predecessor of Windows Phone.
In February 2010, Microsoft announced Windows Phone to supersede Windows Mobile. As a result, Windows Mobile has been deprecated. Windows Phone is incompatible with Windows Mobile devices and software. The last version of Windows Mobile, released after the announcement of Windows Phone, was 6.5.5.
Most versions of Windows Mobile have a set of standard features, such as multitasking and the ability to navigate a file system similar to that of Windows 9x and Windows NT, with support for many of the same file types. Much like its desktop counterpart, it comes bundled with a set of applications to perform basic tasks. Internet Explorer Mobile is the default web browser and Windows Media Player is the default media player used for playing digital media. Microsoft Office Mobile, the mobile versions of Microsoft Office, is the default office suite.
Internet Connection Sharing, supported on compatible devices, allows the phone to share its Internet connection with computers via USB and Bluetooth. Windows Mobile support virtual private networking (VPN) over PPTP protocol. Most devices with mobile connectivity include a Radio Interface Layer (RIL). RIL provides the system interface between the CellCore layer within the Windows Mobile OS and the radio protocol stack used by the wireless modem hardware. This allows OEMs to integrate a variety of modems into their equipment.
The user interface has changed much between versions but the basic functionality has remained similar. Today Screen, later called the Home Screen, shows the current date, owner information, upcoming appointments, e-mail messages, and tasks. Taskbar shows the current time and the audio volume and of devices with a cellular radio the signal strength.
Windows Mobile has supported third party software the original Pocket PC implementations.
An Alpha build of WinPad in the early days of development showing off stylus compatibility.
Windows Mobile was based on the Windows CE kernel and first appeared as the Pocket PC 2000 operating system. It was supplied with a suite of basic applications developed with the Microsoft Windows API, and is designed to have features and appearance somewhat similar to desktop versions of Windows. Third parties can develop software for Windows Mobile with no restrictions imposed by Microsoft. Software applications were purchasable from Windows Marketplace for Mobile during the service's lifespan.
Most early Windows Mobile devices came with a stylus, which can be used to enter commands by tapping it on the screen. The primary touch input technology behind most devices were resistive touchscreens which often required a stylus for input. Later devices used capacitive sensing which does not require a stylus. Along with touchscreens a large variety of form factors existed for the platform. Some devices featured slideout keyboards, while others featured minimal face buttons.
Microsoft's work on handheld portable devices began with research projects in 1990, two years later work on Windows CE officially began. Initially the OS and the user interface were developed separately. With Windows CE being based on Windows 95 code and a separate team handing the user interface which was codenamed WinPad(later Microsoft At Work for Handhelds). Windows 95 had strong pen support making porting easy; with some saying "At this time, Windows 95 offers outstanding pen support. It is treating pens right for the first time." WinPad was delayed due to price and performance issues, before being scrapped in early 1995 due to touchscreen driver problems relating to WriteTouch technology, made by NCR Microelectronic Products. Although WinPad was never released as a consumer product, Alpha builds were released showcasing many interface elements. During development of WinPad a separate team worked on a project called Pulsar; designed to be a mobile communications version of WinPad, described as a "pager on Steroids". This project was also canceled around the same time as WinPad. The two disbanded groups would form the Pegasus project in 1995. Pegasus would work on the hardware side of the Windows CE OS, attempting to create a form factor similar to a PC-esque PDA like WinPad, with communications functionality like Pulsar. A hardware reference guide was created and devices began shipping in 1996, although most of these device bore little resemblance to the goal of a pen-based touchscreen handheld device.
Pocket PC 2000
Pocket PC 2000, originally codenamed "Rapier", was released on April 19, 2000, and was based on Windows CE 3.0. It was the debut of what was later dubbed the Windows Mobile operating system, and meant to be a successor to the operating system aboard Palm-Size PCs. Backwards compatibility was retained with such Palm-Size PC applications. Pocket PC 2000 was intended mainly for Pocket PC devices, however several Palm-Size PC devices had the ability to be updated also. Further, several Pocket PC 2000 phones were released, however Microsoft's "Smartphone" hardware platform was not yet created. The only resolution supported by this release was 240 x 320 (QVGA). Removable storage card formats that were supported were CompactFlash and MultiMediaCard. At this time Pocket PC devices had not been standardized with a specific CPU architecture. As a result, Pocket PC 2000 was released on multiple CPU architectures; SH-3, MIPS, and ARM. Infrared (IR) File beaming capability was among the original hardware features.
The original Pocket PC operating system had similar appearance to Windows 98, Windows Me, and Windows 2000 operating systems.
This initial release had multiple built-in applications, many of them similarly branded to match their desktop counterparts; such as Microsoft Reader, Microsoft Money, Pocket Internet Explorer and Windows Media Player. A version of Microsoft's Office suite called Pocket Office was also bundled and included Pocket Word, Pocket Excel and Pocket Outlook. Notes, a written and sound note-taking application saw its first release and would be supported by most later versions of Windows Mobile. Character recognition support allowed Notes to distinguish styles of handwriting to be learned by the OS during processing to improve accuracy and recognition levels.
Pocket PC 2002
Pocket PC 2002, originally codenamed "Merlin", was released in October 2001. Like Pocket PC 2000, it was powered by Windows CE 3.0. Although targeted mainly for 240 × 320 (QVGA) Pocket PC devices, Pocket PC 2002 was also used for Pocket PC phones, and for the first time, Smartphones. These Pocket PC 2002 Smartphones were mainly GSM devices. With future releases, the Pocket PC and Smartphone lines would increasingly collide as the licensing terms were relaxed allowing OEMs to take advantage of more innovative, individual design ideas. Aesthetically, Pocket PC 2002 was meant to be similar in design to the then newly released Windows XP. Newly added or updated programs include Windows Media Player 8 with streaming capability; MSN Messenger, and Microsoft Reader 2, with Digital rights management support. Upgrades to the bundled version of Office Mobile include a spell checker and word count tool in Pocket Word and improved Pocket Outlook. Connectivity was improved with file beaming on non-Microsoft devices such as Palm OS, the inclusion of Terminal Services and Virtual Private Networking support, and the ability to synchronize folders. Other upgrades include an enhanced UI with theme support and savable downloads and WAP in Pocket Internet Explorer.
Windows Mobile 2003
Windows Mobile 2003, originally codenamed "Ozone", was released on June 23, 2003, and was the first release under the Windows Mobile banner. It came in four editions: "Windows Mobile 2003 for Pocket PC Premium Edition", "Windows Mobile 2003 for Pocket PC Professional Edition", "Windows Mobile 2003 for Smartphone" and "Windows Mobile 2003 for Pocket PC Phone Edition". The last was designed especially for Pocket PCs which include phone functionalities. The Professional Edition was used in Pocket PC budget models. It lacked a number of features that were in the Premium Edition, such as a client for L2TP/IPsec VPNs. Windows Mobile 2003 was powered by Windows CE 4.20. Communications interface were enhanced with Bluetooth device management. Which allowed for Bluetooth file beaming support, Bluetooth headset support and support for Bluetooth add-on keyboards. A pictures application with viewing, cropping, e-mail, and beaming support was added. Multimedia improvements included MIDI file support as ringtones in Phone Edition and Windows Media Player 9.0 with streaming optimization. A puzzle game titled Jawbreaker is among the preinstalled programs. GAPI was included with this release to facilitate the development of games for the platform. Other features/built-in applications included the following: enhanced Pocket Outlook with vCard and vCal support, improved Pocket Internet Explorer and SMS reply options for Phone Edition.
Windows Mobile 2003 SE
Windows Mobile 2003 Second Edition, also known as "Windows Mobile 2003 SE", was released on March 24, 2004 and first offered on the Dell Axim x30. This was the last version which allowed users to back up and restore an entire device through ActiveSync.
This upgrade allows users to switch between Portrait and Landscape modes and introduces a single-Column layout in Pocket Internet Explorer. To make wireless internet access more secure Wi-Fi Protected Access (WPA) support was added. An array of new screen resolutions also debuted;VGA (640×480), 176?220, 240x240, and 480x480, to increase visual clarity and the range of form factors Windows Mobile could run on.
Windows Mobile 5
Windows Mobile 5.0, originally codenamed "Magneto", was released at Microsoft's Mobile and Embedded Developers Conference 2005 in Las Vegas, May 9-12, 2005. Microsoft offered mainstream support for Windows Mobile 5 through October 12, 2010, and extended support through October 13, 2015. It was first offered on the Dell Axim x51. It used the .NET Compact Framework 1.0 SP3, an environment for programs based on .NET. Windows Mobile 5.0 included Microsoft Exchange Server "push" functionality improvements that worked with Exchange 2003 SP2. The "push" functionality also required vendor/device support With AKU2 software upgrades all WM 5.0 devices supported DirectPush. This version featured increased battery life due to Persistent storage capability. Previously up to 50% (enough for 72 hours of storage) of battery power was reserved just to maintain data in volatile RAM. This continued the trend of Windows-based devices moving from using RAM as their primary storage medium to the use of a combination of RAM and flash memory (in use, no distinction between the two is obvious to users). Programs and frequently accessed data run in RAM, while most storage is in the flash memory. The OS seamlessly moves data between the two as needed. Everything is backed up in the flash memory, so unlike prior devices, WM5 devices lose no data if power is lost. New to 5.0, OS updates were released as Adaptation kit upgrades, with AKU 3.5 being the final released.
A new version of Office was bundled called "Microsoft Office Mobile" with includes PowerPoint Mobile, Excel Mobile with graphing capability and Word Mobile with the ability to insert tables and graphics. Media management and playback was enhanced with Picture and Video package, which converged the management of videos and pictures and Windows Media Player 10 Mobile. Among new hardware features were enhanced Bluetooth support, default QWERTY keyboard-support and a management interface for Global Positioning System (GPS). Improvements were made to ActiveSync 4.2 with 15% increased synchronization speed. Business customers benefited from a new error reporting facility similar to that present in desktop and server Windows systems. Caller ID now supports photos so a user can apply an image to each contact to show when a call is received. DirectShow was also natively added. This release was the first to include DirectDraw with hardware acceleration, replacing the deprecated graphics component of GAPI
Windows Mobile 5.0 requires at least 64 MBs of ROM (it's advisable to have 64 MBs of RAM), and the device must run an ARM compatible processor such as the Intel XScale or the Samsung and Texas Instruments ARM compatibles.
- Windows Phone :
Windows Phone (abbreviated as WP) is a series of proprietary mobile operating systems developed by Microsoft. It is the successor to Windows Mobile, although it is incompatible with the earlier platform. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market. It was first launched in October 2010, with a release in Asia following in early 2011.
The latest major release is Windows Phone 8, which was launched on October 29, 2012. With Windows Phone, Microsoft created a new user interface, featuring its Modern design language (which was formerly known as "Metro"). Additionally, the software is integrated with third-party and Microsoft services, and sets minimum requirements for the hardware on which it runs.
Microsoft is currently developing the next version of Windows Phone, code named "Windows Phone Blue" (previously "Windows Phone Apollo Plus",) which will either be named Windows Phone 8.1 or Windows Phone 8.5.
Work on a major Windows Mobile update may have begun as early as 2004 under the codename "Photon", but work moved slowly and the project was ultimately cancelled. In 2008, Microsoft reorganized the Windows Mobile group and started work on a new mobile operating system. The product was to be released in 2009 as Windows Phone, but several delays prompted Microsoft to develop Windows Mobile 6.5 as an interim release.
Windows Phone was developed quickly. One result was that the new OS would not be compatible with Windows Mobile applications. Larry Lieberman, senior product manager for Microsoft's Mobile Developer Experience, told eWeek: "If we'd had more time and resources, we may have been able to do something in terms of backward compatibility." Lieberman said that Microsoft was attempting to look at the mobile phone market in a new way, with the end user in mind as well as the enterprise network. Terry Myerson, corporate VP of Windows Phone engineering, said, "With the move to capacitive touch screens, away from the stylus, and the moves to some of the hardware choices we made for the Windows Phone 7 experience, we had to break application compatibility with Windows Mobile 6.5."
Windows Phone 7
Windows Phone 7 was announced at Mobile World Congress in Barcelona, Spain, on February 15, 2010, and released publicly on November 8, 2010 in the United States.
Microsoft released an updated version of Windows Phone 7, Mango (also referred to as Windows Phone 7.5), in May 2011. The update included a mobile version of Internet Explorer 9 that supports the same web standards and graphical capability as the desktop version, multi-tasking of third-party apps, Twitter integration for the People Hub, and Windows Live SkyDrive access.
A minor update released in 2012 known as "Tango", along with other bug fixes, lowered the hardware requirements to allow for devices with 800 MHz CPUs and 256 MB of RAM to run Windows Phone.
In January 2013, Windows Phone 7.8 was released. It added some features from Windows Phone 8, such as an updated start screen, doubling of the color scheme options to 20 and the option to have the Bing image of the day as the lock screen wallpaper. Windows Phone 7.8 was intended to prolong the life of older Windows Phone 7 devices, as these were not upgradable to Windows Phone 8 due to hardware limitations. However, not all users have received the Windows Phone 7.8 update yet.
Microsoft has announced that Windows Phone 7.8 will see further future updates and as both Windows Phone 7 and Windows Phone 8 will coexist for sometime, to support devices in different price ranges.
Windows Phone 8
Three high-end Windows Phone 8 devices from left to right: HTC 8X, Lumia 920, Lumia 820.
On October 29, 2012, Microsoft released Windows Phone 8, a new generation of the operating system. Windows Phone 8 replaces its previously Windows CE-based architecture with one based on the Windows NT kernel with many components shared with Windows 8, allowing applications to be easily ported between the two platforms.
Windows Phone 8, while adding a number of software improvements, also brought support for updated hardware. This included support for multi-core processors and high resolution screens. Windows Phone 7 and 7.5 were often criticized for a lack of high end hardware support, but Windows Phone 8's new hardware gave Windows Phone the ability to better compete with Google and Apple smartphones.
Partnership with Nokia
On February 11, 2011, at a press event in London, Microsoft CEO Steve Ballmer and Nokia CEO Stephen Elop announced a partnership between their companies in which Windows Phone would become the primary smartphone operating-system for Nokia, replacing Symbian. The event focused largely on setting up "a new global mobile ecosystem", suggesting competition with Android and iOS with the words "It is now a three horse race". Elop's reasoning behind settling on Windows Phone over Android involved the realization: "the single most important word is 'differentiation'. Entering the Android environment late, we knew we would have a hard time differentiating." While Nokia would have had more long-term creative control with Android (note that MeeGo as used by Nokia resembles Android more than it does Windows Phone 7), Elop enjoyed familiarity with his past company where he had been a top executive.
The pair announced integration of Microsoft services with Nokia's own services; specifically:
Bing would power-search across Nokia devices
integration of Nokia Maps with Bing Maps
integration of Nokia's Ovi store with the Windows Phone Store
The partnership involves "funds changing hands for royalties, marketing and ad-revenue sharing", which Microsoft later announced as "measured in billions of dollars." Jo Harlow, whom Elop tapped to run Nokia's smartphone business, rearranged her team to match the structure led by Microsoft's VP of Windows Phone, Terry Myerson. Myerson was quoted as saying, "I can trust her with what she tells me. She uses that same direct and genuine communication to motivate her team."
The first Nokia Windows phones, the Lumia 800 and Lumia 710, were announced in October 2011 at Nokia World 2011 event.
At the Consumer Electronics Show in 2012 Nokia announced the Lumia 900, featuring a 4.3-inch AMOLED ClearBlack display, a 1.4 GHz processor and 16 GB of storage. The Lumia 900 was one of the first Windows Phones to support LTE and was released on AT&T on April 8. An international version will launch in Q2 2012, with a UK launch expected in May. The Lumia 610 is the first Nokia Windows Phone to run the Tango Variant (Windows Phone 7.5 Refresh) and is aimed at emerging markets.
Despite the partnership with Nokia, Microsoft has promoted HTC's Windows Phone 8X as the flagship device for Windows Phone 8 during the 2012 holiday season, instead of the Nokia Lumia 920.
Windows Phone features a user interface based on Microsoft's Windows Phone design system, codenamed Metro, and was inspired by the user interface in the Zune HD. The home screen, called the "Start screen", is made up of "Live Tiles", which have been the inspiration for the Windows 8 live tiles. Tiles are links to applications, features, functions and individual items (such as contacts, web pages, applications or media items). Users can add, rearrange, or remove tiles. Tiles are dynamic and update in real time - for example, the tile for an email account would display the number of unread messages or a tile could display a live update of the weather. Since Windows Phone 8, live tiles can also be resized to either a small, medium, or large appearance.
Several features of Windows Phone are organized into "hubs", which combine local and online content via Windows Phone's integration with popular social networks such as Facebook, Windows Live, and Twitter. For example, the Pictures hub shows photos captured with the device's camera and the user's Facebook photo albums, and the People hub shows contacts aggregated from multiple sources including Windows Live, Facebook, and Gmail. From the Hub, users can directly comment and 'like' on social network updates. The other built-in hubs are Xbox Music and Video, Xbox Live Games, Windows Phone Store, and Microsoft Office.
Windows Phone uses multi-touch technology. The default Windows Phone user interface has a dark theme that prolongs battery life on OLED screens as fully black pixels don't emit light. Alternatively, users can also switch to a white background manually. The user may choose a light theme instead, and can also choose from several accent colors. User interface elements such as tiles are shown in the user's chosen accent color. Third-party applications can be automatically themed with these colors.
Users input text by using an on-screen virtual keyboard, which has a dedicated key for inserting emoticons, and features spell checking and word prediction. App developers (both inhouse and ISV) may specify different versions of the virtual keyboard in order to limit users to certain character sets, such as numeric characters alone. Users may change a word after it has been typed by tapping the word, which will invoke a list of similar words. Pressing and holding certain keys will reveal similar characters. The keys are somewhat larger and spaced farther apart when in landscape mode. Phones may also be made with a hardware keyboard for text input. Windows Phone 8 adds a new "Word Flow" keyboard, which includes features such as allowing the user to add accents to letters by pressing on an individual letter.
Windows Phone utilizes "Threads", which allow conversations to be held among users through multiple platforms (such as Windows Live Messenger, Facebook messaging, or SMS) within a single thread, dynamically switching between services depending on availability.
Internet Explorer on Windows Phone allows the user to maintain a list of favorite web pages and tiles linking to web pages on the Start screen. The browser supports up to 6 tabs, which can all load in parallel. Other features include multi-touch gestures, a streamlined UI, smooth zoom in/out animations, the ability to save pictures that are on web pages, share web pages via email, and support for inline search which allows the user to search for a word or phrase in a web page by typing it.
Users are also able to stream YouTube videos straight from the Internet Explorer browser.
Contacts are organized via the "People hub". Contacts can be manually entered into contacts or imported from Facebook, Windows Live Contacts, Twitter, LinkedIn, Google, and Outlook. A "What's New" section show news feed and a "Pictures" section show pictures from those social networks made by the contacts. A "Me" section show the phone user's own social networks status and wall, allow the user to update his status, and check-in to Bing and Facebook Places. Contacts can be added to the home screen by pinning them to the start. The contact's "Live Tile" displays their social network status and profile picture on the homescreen and the contact's hub displays his Facebook wall as well as all of the rest of his contact information and information from his other social networks.
If a contact has information stored on multiple networks, users can link the two separate contact accounts, allowing the information to be viewed and accessed from a single card. As of Windows Phone 7.5, contacts can also be sorted into "Groups". Here, information from each of the contacts is combined into a single page which can be accessed directly from the Hub or pinned to the Start screen.
Windows Phone supports Outlook.com, Exchange, Yahoo! Mail, and Gmail natively and supports many other services via the POP and IMAP protocols. For the native account types, contacts and calendars may be synced as well. Users can also search through their email by searching in the subject, body, senders, and receivers. Emails are shown in threading view and multiple email inboxes can be combined or kept separate.
Xbox Music + Video is a built-in application hub providing entertainment and synchronization capabilities between PC, Windows Phone, and other Microsoft products. Before Microsoft's rebranding of its media products under the "Xbox" label, the hub was simply called "Music + Videos". This hub allows the user to access music, videos, and podcasts stored on the device, and links directly to the "Xbox Music Store" to buy music, or rent with the Xbox Music Pass subscription service. When browsing the music by a particular artist, users are able to view artist biographies and photos, provided by the Xbox Music. This hub integrates with many other apps that provide video and music services, including, but not limited to, iHeartRadio, YouTube, and Vevo. This hub also includes Smart DJ which compiles a playlist of songs stored on the phone similar to the song or artist selected. Purchased movies and other videos can be played through Xbox Video, the "Xbox Video Store" is not yet compatible on Windows Phone to directly buy or stream video content from your device.
The "Pictures hub" displays the user's Facebook and SkyDrive photo albums, as well as photos taken with the phone's built-in camera. Users can also upload photos to social networks, comment on others photos, and tag photos on social networks directly from the Pictures hub. Multi-touch gestures permit zooming in and out of photos.
According to Brandon Miniman's test review for pocketnow.com, he stated "if Zune can play it, your Windows Phone 7 device can play it" – this refers to the supported playback of files. The audio file formats supported include WAV, MP3, WMA, AMR, AAC/MP4/M4A/M4B and 3GP/3G2 as standards. The video file formats supported include WMV, AVI, MP4/M4V, 3GP/3G2 and MOV (QuickTime) standards. These supported audio and video formats would be dependent on the codecs contained inside them. It has also been previously reported that the DivX and Xvid codecs within AVI are also playable on the system. Unlike the previous Windows Mobile operating system, there are currently no third-party applications for handling other video formats. The image file formats that are supported include JPG/JPEG, PNG, GIF, TIF and Bitmap (BMP).
Custom ringtones under 1MB, and less than 40 seconds long and the genre marked as Ringtone to appear on the phone, and are either created on the computer or downloaded through apps.
The "Games hub" provides access to games on a phone along with Xbox Live functionality, including the ability for a user to interact with their avatar, view and edit their profile, see their achievements and view leaderboards, and send messages to friends on Xbox Live. The Games hub also features an area for managing invitations and turn notifications in turn-based multiplayer games.
Microsoft's hardware requirements stipulate that every Windows Phone must have a dedicated Search button on the front of the device that performs different actions. Pressing the search button while an application is open allows users to search within applications that take advantage of this feature; for example, pressing Search in the People hub lets users search their contact list for specific people. This has been changed in Windows Phone 7.5 however - as the search button is reserved for Bing - so applications that previously used this feature (such as the Marketplace) now include soft search buttons.
In other cases, pressing the Search button will allow the user to perform a search of web sites, news, and map locations using the Bing application.
Windows Phone also has a voice recognition function, powered by TellMe, which allows the user to perform a Bing search, call contacts or launch applications by speaking. This can be activated by pressing and holding the phone's Start button.
Bing is the default search engine on Windows Phone handsets because of its deep integration of functions into the OS (which also include the utilization of its map service for location-based searches and queries). However, Microsoft has stated that other search engine applications can be used.
Aside from location-based searches, Nokia Maps provides turn-by-turn navigation service to Windows Phone user and Local Scout shows interest points such as attractions and restaurants in the nearby area.
Bing Audio allows the user to match a song with its name and Bing Vision allows the user to match barcodes and tags with the product online.
Microsoft Office Mobile on Windows Phone
The "Office hub" organizes all Microsoft Office apps and documents. Microsoft Office Mobile provides interoperability between Windows Phone and the desktop version of Microsoft Office. Word Mobile, Excel Mobile, PowerPoint Mobile, OneNote Mobile, and SharePoint Workspace Mobile allow most Microsoft Office file formats to be viewed and edited directly on a Windows Phone device.
Microsoft Office files from SkyDrive and Office 365, as well as files stored locally on the phone, can be accessed through the Office Hub. Office files are sorted by tiles: Word documents (blue tile), Excel spreadsheets (green tile), PowerPoint presentations (orange tile), PDF Files (red tile) and OneNote documents (purple tile).
Multitasking in Windows Phone is invoked through long pressing the "back" arrow, which is present on all Windows Phones. Windows Phone 7 uses a card-based task switcher, whereas Windows Phone 8 utilizes true background multitasking.
Windows Phone 7
Zune Software manages the contents on Windows Phone 7 devices and Windows Phone can wirelessly sync with Zune Software.
Windows Phone 8
Syncing content between Windows Phone 8 and Windows is provided through the Windows Phone App, which is available for both Windows and Mac OS X. It is the official successor to Zune software only for Windows Phone 8, and allows users to transfer content such as music, videos, and documents.
Users also have the ability to use a "Tap and Send" feature that allows for file transfer between Windows phones, and NFC-compatible Windows 8 devices, through NFC.
A test notification of an "update available" pop-up in the Windows Phone emulator.
According to Microsoft documentation, software updates will be delivered to Windows Phone users via Microsoft Update, as is the case with other Windows operating systems. Microsoft had the intention to directly update any phone running Windows Phone instead of relying on OEMs or wireless carriers, but on January 6, 2012, Microsoft changed their policy to let carriers decide if an update will be delivered. The software component, called Windows Phone Update, exists both on the phone (for smaller updates, over-the-air) and in the Zune Software for Windows PCs (for larger updates, via USB connection). Users will be notified to attach their phones to a PC if such an update is required. Microsoft has said that in the future, all updates, both large and small will eventually support over-the-air downloads. Charlie Kindel, Program Manager for the developer experience of Windows Phone, confirmed that the update infrastructure system for Windows Phone was available and that Microsoft is "in a position where we have the systems in place to effectively and reliably deliver updates to (Windows Phone) users".
Microsoft plans to regularly ship minor updates that add features throughout the year, and major updates once a year.
All third-party applications can be updated automatically from the Windows Phone Store.
Microsoft has also launched an advertising platform for the Windows Phone platform. Microsoft's General Manager for Strategy and Business Development, Kostas Mallios, said that Windows Phone will be an "ad-serving machine", pushing advertising and brand-related content to the user. The platform will feature advertising tiles near applications and toast notifications, which will bring updating advertising notifications. Mallios said that Windows Phone will be able to "preserve the brand experience by going directly from the web site right to the application", and that Windows Phone "enables advertisers to connect with consumers over time". Mallios continued: "you're now able to push information as an advertiser, and stay in touch with your customer. It's a dynamic relationship that is created and provides for an ongoing dialog with the consumer."
- Windows Phone supports the following Bluetooth profiles:
- Advanced Audio Distribution Profile (A2DP 1.2)
- Audio/Video Remote Control Profile (AVRCP 1.3)
- Hands Free Profile (HFP 1.5)
- Headset Profile (HSP 1.1)
- Phone Book Access Profile (PBAP 1.1)
- Bluetooth File Transfer (OBEX) (from Windows Phone 7.8)
- Windows Phone BTF support is available from Windows Phone 7.8, but is limited to the transferring of pictures, music and videos via a 'Bluetooth Share' app.
- Series 40-based Nokia 6300 :
Series 40-based Nokia 6300
Series 40, often shortened as S40, is a software platform and application user interface (UI) software on Nokia's broad range of mid-tier feature phones, as well as on some of the Vertu line of luxury phones. It is one of the world's most widely used mobile phone platforms and found in hundreds of millions of devices. Nokia announced on 25 January 2012 that the company has sold over 1.5 billion Series 40 devices. S40 has more features than the Series 30 platform, which is more basic. They are not used for smartphones, in which Nokia primarily uses Windows Phone, and up until 2012 Symbian. However, in 2012 and 2013, several Series 40 phones from the Asha line, such as the 308, 309 and 311, have been advertised as "smartphones" although they do not actually support smartphone features like multitasking or a fully fledged HTML browser.
Series 40 was officially introduced in 1999 with the release of the Nokia 7110. It had a 96 × 65 pixel monochrome display and was the first phone to come with a WAP browser. Over the years, the S40 UI has evolved from a low resolution UI to a high resolution color UI with an enhanced graphical look. The third generation of Series 40 that became available in 2005 introduced support for devices with resolutions as high as QVGA (240×320). It is possible to customize the look-and-feel of the UI via comprehensive themes. A list of all Series 40 devices can be found on the Nokia web site.
In 2012, the new Nokia Asha mobile phones 200/201/210, 302/306/305/308/310/311, 303 and 311 were released and all use Series 40.
It provides communication applications such as telephone, internet telephony (VoIP), messaging, email client with POP3 and IMAP4 capabilities and Web browser; media applications such as camera, video recorder, music/video player and FM radio; and phonebook and other personal information management (PIM) applications such as calendar and tasks. Basic file management, like in Series 60, is provided in the Applications and Gallery folders and subfolders. Gallery is also the default location for files transferred over Bluetooth to be placed. User-installed applications on Series 40 are generally mobile Java applications. Flash Lite applications are also supported, but mostly used for screensavers.
New Nokia Asha phones exhibit some smartphone-like characteristics, such as full internet access and navigation software. Shown is the Asha 311, which has a similar interface to that of the N9.
Support for SyncML synchronization with external services of the address book, calendar and notes is present. However with many S40 phones, these synchronization settings must be sent via an OTA text message.
Series 40 is an embedded software platform that is open for software development via standard or de facto content and application development technologies. It supports Java MIDlets, i.e. Java MIDP and CLDC technology, which provide location, communication, messaging, media, and graphics capabilities. S40 also supports Flash Lite applications.
- Sailfish OS :
Sailfish is a Linux-based mobile operating system developed by Jolla in cooperation with the Mer project and supported by the Sailfish Alliance. It is to be used in upcoming smartphones by Jolla and other licencees. Although it is primarily targeted at mobile phones, it is also intended to support other categories of devices.
The Sailfish OS and the Sailfish Software development kit are based on the Linux kernel and Mer Additionally Sailfish OS includes a partially or completely proprietary multi-tasking user interface programmed by Jolla. This user interface differentiate Jolla smartphones from others. Sailfish OS is intended to offer a competitive advantage against devices that run Google's Android or Apple's iOS.
Jolla has unveiled the Sailfish architecture which contains:
Any hardware platform on which can be launched a Linux kernel
(1) the Linux kernel
plus all necessary hardware specific Kernel patches
Mer contains as few hardware adaptation bits in the main repository as possible
System essentials, Multimedia, Graphics (X11), Communications, Personal Information Management, Software Management, Security, Build and Development (Qt, Qt Mobility, Qt Webkit)
(3) UI and middleware
Home screen & switcher, Real live multitasking, Input methods, Ambiance theming, Localizations, multimedia codecs, Power management optimizations, Integrated UX for key web services, Application and UI performance optimizations
Jolla & Parthner Sailfish OS adaptations: these adaptations can have influences/implications on both: 4th and 3rd levels.
Jolla's Applications: Phone, Messaging, Contacts, Camera, Gallery, Settings, etc.
3rd party applications: Browser, Android applications runtime, Maps
Jolla & Partner Sailfish OS adaptations: these adaptations can have influences/implications on both: 4th and 3rd levels.
(5) Application store
(6) Repositories and other sources by 3rd parties including wide range of communities, operators or companies of many kinds.
"(...)Sailfish is built on the heritage of the proven MeeGo- technology. This ensures that core cellular functionalities like power management and connectivity are inbuilt and optimized in restrained embedded environments. The core of the OS comes from the Mer Project. The UI is built with QML and Qt Quick. This enables fast and easy customization of the UI and further development of partner specific screens with fast and easy to use development tools.(...)".
Wayland (display server protocol) in Sailfish OS
Carsten Munk, Jolla's Chief Research Engineer and one of key persons in Mer project, has made it possible to run Wayland (display server protocol) atop Android GPU drivers. It's being done with glibc rather than Android's Bionic libc derivative. The solution is to enable the use of Wayland on top of Android hardware, particularly with its GPU drivers. However, as part of it, for the operating system to not depend upon Google's Bionic libc library. In April 2013 the code is at a stage of being able to handle a QML compositor on top of Wayland while rendering to Qualcomm's GPU Android drivers. The motive for engaging this work is that most device manufacturers are only willing to work with Google's Android and not supply drivers for X11 or Wayland or other platforms.
Carsten Munk is planning on putting patches out under LGPLv2.1 and sees this work as potentially benefiting not only the Sailfish OS but also Qt, Mer, Nemo mobile, OpenWebOS, EFL, KDE, GNOME, Hawaii, and others.
Sailfish OS SDK
The Sailfish OS SDK has been announced in Helsinki at Slush in 2012, and published in the alpha stage in February 2013. As the open source it is available for free download from the Wiki of the Sailfish OS together with installing and coding tutorials, which are developed further. Most users have described positive impressions from using alpha SDK, however some critical remarks has been reported also. Several developers announced porting their existing software from various platforms to Sailfish OS at JollaHQ twitter channel.
The Sailfish OS SDK use Qt with virtual box for development, compiling and emulation purposes. This technique allows to compile on the Sailfish OS and to test developed software on the Sailfish OS in the virtual machine. This also separate development activities and (side) effects from everything else going on this particular computer.
Jolla says that as development with Sailfish SDK is development on Sailfish OS itself then there are no differences between developed software appearance and behaviour in SDK and on end-user machine with Sailfish OS.
The open source nature of SDK allow to shape and rebuild it for particular and specific needs of a company or an organisation or a group of developers or an advanced developer, what allows to create context specific environment. This supports creating the specific personalised coding environment with specific tools for specific needs which is set once and then always ready to work as set, and does not need initial preparations for specific needs every time it is turned on (booted).
SDK supports many systems like Android, Linux (32 & 64 bit version), iOS (64 bit version only as of March 2013) or Windows.
Marc Dillon said about the SDK: "(...)Yes, there's an emulator so you can see how the applications work, and all of our UI features are available as UI components. Actually you can develop applications that have all these different UI components and different elements and use the power of the OS.(...)".
Declared : without PRISM and no disclosing information
When asked: how is it with Jolla and PRISM, will the NSA have access to Jolla's server, answered that "Jolla servers are not in US so we are not subject to any US rules or regulations regarding disclosing information." That is commonly interpreted that Jolla is free from problem of PRISM and disclosing information. Many see in this the Sailfish OS and Jolla's smartphone advantage in relation to other operating systems like Windows, Android or iOS which are from companies seems to have the contrary policy and active cooperation in this scope.
- Jolla has revealed its plans to use the following technologies in Sailfish OS:
- The Mer software distribution core
- A custom built user interface
- QML and Qt
- Jolla continues building the MeeGo ecosystem.
The Mer project does not include a kernel, so it can't be considered a complete operating system on its own. It is a set of libraries complying with the MeeGo API specification, which can be used to build a bootable Linux distribution (i.e. Sailfish OS). This means that Sailfish OS will work on any hardware platform on which the Mer core can be installed.
Application programming interfaces
Qt APIs (QtQuick, QtMobility, QtWebkit and more) should be used by typical Sailfish OS applications. Also standard Linux APIs within reason for mobile usage will be available. Asked about "support of the same QML components, paths, folders etc. that Nokia did for the N9, so developers can repackage apps with ease", Jolla answered that "use of QML including Harmattan components is encouraged", but "the details of the SDK will be shown later". See also Ubuntu, Sailfish and Plasma Active cooperation for sharing common APIs.
Jolla has reported that Ubuntu, Sailfish and Plasma Active cooperation for sharing common APIs is in progress and - upon success - will make the platforms compatible on the API level.
Jolla reported that Sailfish will be compatible with Android apps thanks to built in Alien Dalvik layer from Myriad Group, known for running Android apps with the Nokia N9. Many Android applications will run on Jolla devices unchanged. To take advantage of all UI and other features of Sailfish OS and make applications fast they may need porting to native Qt/QML, there are extensive guides available on porting to Qt/QML. The same refers to using MeeGo, including MeeGo Harmattan, applications on Jolla devices.
Sailfish will be able to run most applications that were originally developed for MeeGo and Android, in addition to native Sailfish applications. This will give it a large catalogue of available apps on launch.
Considering upon Jolla's declarations that Sailfish OS is be able to use software from following platforms
Sailfish (natively created + ported like from Qt, Symbian, MeeGo - developers have reported that porting a Qt written software with Sailfish SDK takes a few hours only)
MeeGo (because of backward compatibility thanks to MeeGo code legacy included in the Mer core)
Android (using built-in Alien Dalvik by Myriad Group, which will allow to use it like a native, but with limitations which can happen about UI, if not ported and adjusted)
Unix and Linux (as Sailfish is Linux then using such a software is possible, especially RPM packages, either in terminal/console mode or with limitations implying from using Sailfish UI, if not ported and adjusted)
HTML5 (because it is ready for this kind of software then use oncoming FireFox OS software can also be possible probably)
then a number of unique software possible to use can be estimated by adding number of software from the list above. In general it can be expected to be not less than 500K unique software pieces at the beginning.
Advantages due to the Mer
The Sailfish OS in general can be used on any hardware supported by the Mer core distribution.
Rather than designate a specific reference hardware platform, a VirtualBox implementation with the Sailfish OS SDK is available for development on most popular OSes like Linux, iOS, Windows, and this VM contains whole Sailfish OS isolated from local resources to enable comfortable work at any particular PC. This allow to evaluate coded or ported software behaviour and performance in future on any real device and safe experimenting de facto on Sailfish OS itself. This is also caused by fact that Sailfish OS is not limited only to Jolla products and devices, but open for other partners which can use any different hardware.
Types of devices
Although Sailfish has been presented first for mobile use with upcoming smartphones by Jolla, as a continuation of MeeGo and using Mer core and the open source philosophy behind them both, it is also an OS for general purposes including devices such as smart televisions, computers, laptops, netbooks, tablets, navigations, cameras, household devices of many kinds, for automotive in cars and IVI, for sailing purposes in yachts and boats, and others. The Sailfish Linux OS in the same way as the MeeGo and the Mer projects it is not limited to use in mobiles only, but can be used with other forms of consumer electronics.
Jolla's Sailfish OS works on a tablet too. Jolla managers said in November 2012 that there could be a Sailfish tablet, but Jolla itself will, in this first wave, concentrate on a smartphone, but it does not exclude devices of different types.
- Devices running Sailfish OS
- Sailfish has been presented on devices like:
- Acer Iconia tab W500
- O2 Joggler
- HP Mini
- Nokia N950 and Nokia N9 - during several presentations given by Jolla
The Sailfish OS SDK in the alpha stage was published at the end of February 2013 and available for free download from the Wiki of Sailfish OS.
- Maemo :
Maemo is a software platform developed by Nokia and then handed over to Hildon Foundation for smartphones and Internet tablets. It is based on the Debian Linux distribution. The platform comprises the Maemo operating system and the Maemo SDK.
Maemo is mostly based on open source code, and has been developed by Maemo Devices within Nokia in collaboration with many open source projects such as the Linux kernel, Debian, and GNOME. Maemo is based on Debian GNU/Linux and draws much of its GUI, frameworks, and libraries from the GNOME project. It uses the Matchbox window manager, and the GTK-based Hildon framework as its GUI and application framework.
The user interface in Maemo 4 is similar to many hand-held interfaces, and features a "home" screen, which acts as a central point from which all applications and settings are accessed. The home screen is divided into areas for launching applications, a menu bar, and a large customizable area that can display information such as an RSS reader, Internet radio player, and Google search box. The Maemo 5 user interface is slightly different; the menu bar and info area are consolidated to the top of the display, and the four desktops can be customized with shortcuts and widgets.
At the Mobile World Congress in February 2010, it was announced that the Maemo project would be merging with Moblin to create the MeeGo mobile software platform. Despite that the Maemo community continued to be active and in late 2012 Nokia began transferring Maemo ownership to the newly established Hildon Foundation.
OS2005 - OS2008
Up to Maemo 4 (AKA OS2008), the default screen is the "Home" screen - the central point from which all applications and settings are accessed. The Home Screen is divided into the following areas:
Vertically down the left hand side of the screen is the taskbar, with applets for the web browser, communications, and application menu by default. These can be modified using third party plug-ins (e.g. to provide a favorites or command menu).
Horizontally across the top left half is the menu bar, which shows the application name and window title, and gives access to the application's menu (which contains the typical file, edit, view, tools, etc., menus and sub-menus).
Horizontally across the top right quadrant is the status bar, containing icons such as battery life, wireless connection, volume, Bluetooth status, and brightness by default. These can be expanded using third party plug-ins in the same manner as the task-bar.
The remaining large part of the display contains Home applets (roughly analogous to Apple Inc.'s Dashboard widgets), which can display data as well as serving as a shortcut to applications. These include an RSS reader, Internet radio player, Google search box and contact list by default, but can also be expanded with third party plug-ins.
The interface uses either the touch screen, or a directional pad and select button, with separate back, menu, and home buttons. It is capable of receiving text input through handwriting recognition, two different sizes of on-screen keyboard and hardware keyboard input with the N810.
Maemo 5 (Fremantle)
The user interface in Maemo 5 is different to its predecessors. It provides four fully customizable (with the ability to add/remove widgets, move widgets around, change the background and customize shortcuts to applications/contacts) "Home" screens, called Panorama Desktop. Switching from one desktop to the others is done by sliding one's finger horizontally on the background. The dashboard is accessed via the upper left icon and shows all the running applications, in a manner similar to the Exposé feature in Apple's Mac OS X operating system. From the dashboard, running applications can be brought back to full screen by tapping the preview window, and applications can be closed by tapping an X-symbol located in the top right corner of the preview window, similar to the concept of closing applications in other operating systems. The application launcher, where all the installed applications can be launched, can also be accessed from the dashboard. If no task or application is running in the background, tapping the top left icon skips the dashboard and directly displays the application launcher.
Maemo provides the Mozilla-based MicroB web-browser with complete Adobe Flash support. It supports an 800x480 display resolution, so some web pages can be viewed without horizontal scrolling. It can automatically connect to known wireless networks, download RSS feeds and email and disconnect automatically without user intervention.
Advanced Packaging Tool with a command-line apt-get client can be used to install applications. Users can subscribe to different software repositories which can then be used to automatically keep software up to date. The application manager also provides an overview of everything currently installed on the system. Data can be synchronized with a PC via a USB connection, and the user's files can be accessed using the standard Removable Storage Device protocol.
A new update (Version 21.2011.38-1.002) was released onto the Nokia N900 on 2 November 2011 as an OTA update. The new version mostly consists of security updates. This is considered to be the final official update to Maemo 5/Fremantle shipped by Nokia.
Further development of Maemo 5 happens as a community effort in Maemo-CSSU.
Maemo devices can be updated using a simple flashing method with a computer over USB.
Since Diablo (Maemo 4.1), Maemo supports "Seamless Software Update" (SSU), which allows incremental operating system upgrades "over the air" using the Advanced Packaging Tool, without the need for a full flash with every update.
Flashing remains available as a way to start over from scratch with a clean installation (much like formatting a hard drive and reinstalling an operating system on a PC).
The quick start guide for developers warns that Maemo security concentrates on preventing remote attacks (e.g. by wireless networking and Bluetooth). It also warns that Maemo's root account has a trivial default password (user: gainroot, password: rootme) which needs to be changed before enabling remote access.
Maemo employs a numeric security code as a way to lock the device's controls and display independently of the root password, to help prevent unauthorised access.
Maemo is a modified version of the Debian Linux distribution, slimmed down for mobile devices. It uses an X Window System-based graphical user interface using Xomap and the Matchbox window manager. The GUI uses the GTK+ toolkit and Hildon user interface widgets and API.
BusyBox, a software package for embedded and mobile devices, replaces the GNU Core Utilities used in Debian-proper to reduce memory usage and storage requirements (at the expense of some functionality).
ESD is used as the primary sound server, and GStreamer is used by the shipped media player to play back sounds and movies. The formats supported by GStreamer can be extended by compiling GStreamer plugins in scratchbox (Maemo SDK), which was done, for example, to bring Ogg support to the platform, as well as experimental features such as WebM and VP8 after they were announced by Google. Third-party media players can access GStreamer directly or via "osso-media-server".
Window management is handled by the Matchbox window manager, which limits the screen to showing a single window at a time (Ubuntu Netbook Edition implements a similar system). This is to improve usability on a mobile device with a small screen.
Although Maemo is based on Linux and open source software, some parts of Maemo remain closed source. These include some user-space software, like certain status bar and taskbar applets (including the display brightness applet) and applications, and some system daemons related to connectivity and power management.
A solid working knowledge of productivity software and other IT tools has become a basic foundation for success in virtually any career. Beyond that, however, I don't think you can overemphasise the importance of having a good background in maths and science.....
"Every software system needs to have a simple yet powerful organizational philosophy (think of it as the software equivalent of a sound bite that describes the system's architecture)... A step in thr development process is to articulate this architectural framework, so that we might have a stable foundation upon which to evolve the system's function points. "
"All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change"
"The ultimate measurement is effectiveness, not efficiency "
"It is argued that software architecture is an effective tool to cut development cost and time and to increase the quality of a system. "Architecture-centric methods and agile approaches." Agile Processes in Software Engineering and Extreme Programming.
"Java is C++ without the guns, knives, and clubs "
"When done well, software is invisible"
"Our words are built on the objects of our experience. They have acquired their effectiveness by adapting themselves to the occurrences of our everyday world."
"I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby. "
"The best way to predict the future is to invent it."
"In 30 years Lisp will likely be ahead of C++/Java (but behind something else)"
"Possibly the only real object-oriented system in working order. (About Internet)"
"Simple things should be simple, complex things should be possible. "
"Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines."
"Model Driven Architecture is a style of enterprise application development and integration, based on using automated tools to build system independent models and transform them into efficient implementations. "
"The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs. "
"Software Engineering Economics is an invaluable guide to determining software costs, applying the fundamental concepts of microeconomics to software engineering, and utilizing economic analysis in software engineering decision making. "
"Ultimately, discovery and invention are both problems of classification, and classification is fundamentally a problem of finding sameness. When we classify, we seek to group things that have a common structure or exhibit a common behavior. "
"Perhaps the greatest strength of an object-oriented approach to development is that it offers a mechanism that captures a model of the real world. "
"The entire history of software engineering is that of the rise in levels of abstraction. "
"The amateur software engineer is always in search of magic, some sensational method or tool whose application promises to render software development trivial. It is the mark of the professional software engineer to know that no such panacea exist "
Core Values ?Agile And Scrum Based Architecture
Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration.....more
Core Values ?Total quality management
Total Quality Management / TQM is an integrative philosophy of management for continuously improving the quality of products and processes. TQM is based on the premise that the quality of products and .....more
Core Values ?Design that Matters
We are more than code junkies. We're a company that cares how a product works and what it says to its users. There is no reason why your custom software should be difficult to understand.....more
Core Values ?Expertise that is Second to None
With extensive software development experience, our development team is up for any challenge within the Great Plains development environment. our Research works on IEEE international papers are consider....more
Core Values ?Solutions that Deliver Results
We have a proven track record of developing and delivering solutions that have resulted in reduced costs, time savings, and increased efficiency. Our clients are very much ....more
Core Values ?Relentless Software Testing
We simply dont release anything that isnt tested well. Tell us something cant be tested under automation, and we will go prove it can be. We create tests before we write the complementary production software......more
Core Values ?Unparalled Technical Support
If a customer needs technical support for one of our products, no-one can do it better than us. Our offices are open from 9am until 9pm Monday to Friday, and soon to be 24hours. Unlike many companies, you are able to....more
Core Values ?Impressive Results
We have a reputation for process genius, fanatical testing, high quality, and software joy. Whatever your business, our methods will work well in your field. We have done work in Erp Solutions ,e-commerce, Portal Solutions,IEEE Research....more
Why Choose Us ?
The intellectual commitment of our development team is central to the leonsoft ability to achieve its mission: to develop principled, innovative thought leaders in global communities.Read More
Today's most successful enterprise applications were once nothing more than an idea in someone's head. While many of these applications are planned and budgeted from the beginning.Read More
We constantly strive to redefine the standard of excellence in everything we do. We encourage both individuals and teams to constantly strive for developing innovative technologies....Read More
If our customers are the foundation of our business, then integrity is the cornerstone. Everything we do is guided by what is right. We live by the highest ethical standards.....Read More