When Apple introduced the iPhone, they introduced not just a smart phone but a new approach to computing. The iPhone experience was a new, simpler experience for the user. The iPhone (and iOS) did away with much of the administrative work of PCs. It eliminated the notion of user accounts and administrator accounts. Updates were automatic and painless. Apps knew how to get their data. The phone "just worked".
The need for a Files app is an admission that the iPad experience does not meet those expectations. It raises the hood and allows the user to meddle with some of the innards of the iPhone. One explanation for its existence is that Apps cannot always find the needed files, and the Files App lets you (the user) find those files.
Does anyone see the irony in making the user do the work that the computer should do? Especially a computer from Apple?
To be fair, Android has had File Manager apps for years, so the Android experience does not meet those expectations either. Microsoft's Surface tablets, starting with the first one, have had Windows Explorer built in, so they are failing to provide the new, simpler experience too.
A curmudgeon might declare that the introduction of the Files App shows that even Apple cannot provide the desired user experience, and if Apple can't do it then no one can.
I'm not willing to go that far.
I will say that the original vision of a simple, easy-to-use, reliable computing device still holds. It may be that the major players have not delivered on that vision, but that doesn't mean the vision is unobtainable.
It may be that the iPhone (and Android) are steps in a larger process, one starting with the build-it-yourself microcomputers of the mid 1970s, passing through IBM PCs with DOS and later PC-compatibles with Windows, and currently with iPhones and tablets. Perhaps we will see a new concept in personal computing, one that improves upon the iPhone experience. It may be as different from iPhone and Android as those operating systems are from Windows and MacOS. It may be part of the "internet of things" and expand personal computing to household appliances.
I'm looking forward to it.
Showing posts with label iOS. Show all posts
Showing posts with label iOS. Show all posts
Sunday, June 11, 2017
Thursday, July 7, 2016
DOS, Windows, sharing, and mobile
Windows, when it arrived on the scene, changed the world of computing. Prior to Windows, DOS ruled the computing world, and it was a limited world. Windows expanded that world with new capabilities. In some ways, mobile operating systems (Android and iOS) move us back towards the ways of DOS.
IBM PCs (or compatibles, or near-compatibles) running DOS were simple devices. They could run one program at a time; running multiple programs at once was not possible. (Technically, it was possible with a "terminate and stay resident" function call, but such programs were few. For this essay, I'll stick to the "regular" programs.)
Windows brought us an expanded view of computing. Instead of running a single program at a time, Windows allowed for multiple. Windows provided a common way to present text and graphics on the screen, to print to printers, and to share data. Windows was a large step upward from the world of DOS.
Mobile operating systems -- Android and iOS -- provide a different experience. Instead of multiple applications and multiple windows, these operating systems present one application (or "app") at a time. Multiple apps may run, but only one has the screen. Thus, you can listen to music, check e-mail, and get a text message all at the same time. Mobile apps keep the multitasking aspect, but reduce the interaction to one app at a time.
Reducing the number of interactive apps to one is a reduction in capabilities, although it is a simpler experience, and one that makes sense for a phone. (I think it also makes sense for a tablet.)
What I don't see in the mobile operating systems (and what I don't see in Windows, either) is improvements in the ability to share data across applications. DOS had files and pipes (concepts lifted from Unix). Windows added the clipboard, and then Dynamic Data Exchange (DDE) and later, drag-and-drop. The clipboard was popular and is still used today. DDE never got traction, and drag-and-drop is limited to files.
Sharing data across applications is difficult. Each application has its own ideas about data. Word processors hold characters, words, sentences, paragraphs, and documents. Spreadsheets hold numeric values, formulas, cells, rows, columns, and sheets. Databases hold rows and columns -- or "documents" (different from word processor documents) for NoSQL databases. The transfer of data from one application to another is not obvious, and therefore the programming of such transfers is not obvious.
But Windows has had the clipboard for thirty years, and DDE and drag-and-drop for almost as long. Have we had no ideas in that time?
Perhaps our current mobile operating systems are the DOSes of today, waiting for a new, bold operating system to provide new capabilities.
IBM PCs (or compatibles, or near-compatibles) running DOS were simple devices. They could run one program at a time; running multiple programs at once was not possible. (Technically, it was possible with a "terminate and stay resident" function call, but such programs were few. For this essay, I'll stick to the "regular" programs.)
Windows brought us an expanded view of computing. Instead of running a single program at a time, Windows allowed for multiple. Windows provided a common way to present text and graphics on the screen, to print to printers, and to share data. Windows was a large step upward from the world of DOS.
Mobile operating systems -- Android and iOS -- provide a different experience. Instead of multiple applications and multiple windows, these operating systems present one application (or "app") at a time. Multiple apps may run, but only one has the screen. Thus, you can listen to music, check e-mail, and get a text message all at the same time. Mobile apps keep the multitasking aspect, but reduce the interaction to one app at a time.
Reducing the number of interactive apps to one is a reduction in capabilities, although it is a simpler experience, and one that makes sense for a phone. (I think it also makes sense for a tablet.)
What I don't see in the mobile operating systems (and what I don't see in Windows, either) is improvements in the ability to share data across applications. DOS had files and pipes (concepts lifted from Unix). Windows added the clipboard, and then Dynamic Data Exchange (DDE) and later, drag-and-drop. The clipboard was popular and is still used today. DDE never got traction, and drag-and-drop is limited to files.
Sharing data across applications is difficult. Each application has its own ideas about data. Word processors hold characters, words, sentences, paragraphs, and documents. Spreadsheets hold numeric values, formulas, cells, rows, columns, and sheets. Databases hold rows and columns -- or "documents" (different from word processor documents) for NoSQL databases. The transfer of data from one application to another is not obvious, and therefore the programming of such transfers is not obvious.
But Windows has had the clipboard for thirty years, and DDE and drag-and-drop for almost as long. Have we had no ideas in that time?
Perhaps our current mobile operating systems are the DOSes of today, waiting for a new, bold operating system to provide new capabilities.
Labels:
Android,
innovation,
iOS,
mobile operating systems,
sharing data,
windows
Wednesday, August 12, 2015
Ten percent better is not enough
The mobile operating system market is ruled by Apple's iOS and Google's Android. Other contenders are striving for market share, and they face quite the challenge.
The contenders are Microsoft's Windows Mobile (or whatever they are calling it now), Mozilla's Firefox OS, Cyanogen's operating system, and Samsung and Intel's Tizen. (One could add Blackberry to the list.)
The challenge that all of these contenders face is one of value. They must deliver a product that is superior to the existing iOS and Android products. Delivering a product of lower value is meaningless, and matching value is a losing proposition due to the cost of switching.
It's not enough to simply be a little bit better than the established leaders. To win the hearts of users (a significant number of users), their product must be clearly better. The benefits of the product must be obvious and large enough to offset the cost of changing from the existing.
Apple did not have this problem. When they introduced the iPhone, there was no competition. The existing phones provided less functionality.
Google did have this problem, as it competed with the (then) existing iPhone. Google's advantage was an open platform -- or so it advertised. (Also, Google was not Apple -- or Microsoft -- which worked to its advantage.
Today's contenders must provide something better than Apple's iOS and Google's Android. The advantage must be clear, and it must be greater than a small increase.
One would think that Microsoft has an advantage, in that they can leverage the existing corporate infrastructure of Windows hardware. Yet this is not the case, as phones and tablets remain personal devices -- corporations have not figured out how to use them. (Some organizations have started using tablets and phones, but their use tends to be limited to specific applications.)
Any mobile OS marketer, to gain ground against the current leaders, will have to provide something much better than the current products, as judged by individuals.
The contenders are Microsoft's Windows Mobile (or whatever they are calling it now), Mozilla's Firefox OS, Cyanogen's operating system, and Samsung and Intel's Tizen. (One could add Blackberry to the list.)
The challenge that all of these contenders face is one of value. They must deliver a product that is superior to the existing iOS and Android products. Delivering a product of lower value is meaningless, and matching value is a losing proposition due to the cost of switching.
It's not enough to simply be a little bit better than the established leaders. To win the hearts of users (a significant number of users), their product must be clearly better. The benefits of the product must be obvious and large enough to offset the cost of changing from the existing.
Apple did not have this problem. When they introduced the iPhone, there was no competition. The existing phones provided less functionality.
Google did have this problem, as it competed with the (then) existing iPhone. Google's advantage was an open platform -- or so it advertised. (Also, Google was not Apple -- or Microsoft -- which worked to its advantage.
Today's contenders must provide something better than Apple's iOS and Google's Android. The advantage must be clear, and it must be greater than a small increase.
One would think that Microsoft has an advantage, in that they can leverage the existing corporate infrastructure of Windows hardware. Yet this is not the case, as phones and tablets remain personal devices -- corporations have not figured out how to use them. (Some organizations have started using tablets and phones, but their use tends to be limited to specific applications.)
Any mobile OS marketer, to gain ground against the current leaders, will have to provide something much better than the current products, as judged by individuals.
Labels:
Android,
Cyanogen,
iOS,
mobile devices,
Tizen,
Windows Mobile
Monday, June 8, 2015
OS X is special enough to get names
Apple has several product lines, and two operating systems: Mac OS and iOS. (Or perhaps three, with Apple Watch OS being the third.) The operating systems have different origins, different designs, and, interestingly, different marketing. Releases of iOS and WatchOS are numbered; releases of Mac OS are named.
Why this distinction? Why should releases of Mac OS be graced with names ("Panther", "Tiger", "Mavericks", "El Capitan") and other operating systems limited to plain numbers?
The assignment of names to Mac OS is a marketing decision. Apple clearly believes that the users of Mac OS want names, while the users of iOS and WatchOS do not. They may be right.
The typical user of iOS and WatchOS is an ordinary, non-technical person. Apple iPads and iPhones and Watches are made for "normal", non-technical individuals.
The typical user of Mac OS, on the other hand, is not a normal, non-technical individual. At least, not in Apple's eyes. Apple may right on this item. I have seen programmers, web designers, and developers carry Apple MacBooks. Software conferences are full of software geeks, and many carry Apple MacBooks. (Only a few carry iPads.)
If this is true, then the audience for Mac OS is different from the audience for iOS. And if that is true, then Apple has an incentive to keep Mac OS separate from iOS. So we may see separate paths (and features) for Mac OS and iOS (and WatchOS).
When Apple releases a version of Mac OS without a cute code name, then we can assume that Apple is getting ready to merge Mac OS into iOS.
Why this distinction? Why should releases of Mac OS be graced with names ("Panther", "Tiger", "Mavericks", "El Capitan") and other operating systems limited to plain numbers?
The assignment of names to Mac OS is a marketing decision. Apple clearly believes that the users of Mac OS want names, while the users of iOS and WatchOS do not. They may be right.
The typical user of iOS and WatchOS is an ordinary, non-technical person. Apple iPads and iPhones and Watches are made for "normal", non-technical individuals.
The typical user of Mac OS, on the other hand, is not a normal, non-technical individual. At least, not in Apple's eyes. Apple may right on this item. I have seen programmers, web designers, and developers carry Apple MacBooks. Software conferences are full of software geeks, and many carry Apple MacBooks. (Only a few carry iPads.)
If this is true, then the audience for Mac OS is different from the audience for iOS. And if that is true, then Apple has an incentive to keep Mac OS separate from iOS. So we may see separate paths (and features) for Mac OS and iOS (and WatchOS).
When Apple releases a version of Mac OS without a cute code name, then we can assume that Apple is getting ready to merge Mac OS into iOS.
Thursday, January 8, 2015
Hardwiring the operating system
I tend to think of computers as consisting of four conceptual parts: hardware, operating system, application programs, and my data.
I know that computers are complex objects, and each of these four components has lots of subcomponents. For example, the hardware is a collection of processor, memory, video card, hard drive, ports to external devices, and "glue" circuitry to connect everything. (And even that is omitting some details.)
These top-level divisions, while perhaps not detailed, are useful. They allow me to separate the concerns of a computer. I can think about my data without worrying about the operating system. I can consider application programs without bothering with hardware.
It wasn't always this way. Oh, it was for personal computers, even those from the pre-IBM PC days. Hardware like the Altair was sold as a computing box with no operating system or software. Gary Kildall at Digital Research created CP/M to run on the various hardware available and designed it to have a dedicates unit for interfacing with hardware. (That dedicated unit was the Basic Input-Output System, or 'BIOS'.)
It was the very early days of computers that saw a close relationship between hardware, software, and data. Very early computers had no operating systems (operating systems themselves designed to separate the application program from the hardware). Computers were specialized devices, tailored to the task.
IBM's System/360 is recognized as the first general computer: a single computer that could be programmed for different applications, and used within an organization for multiple purposes. That computer began us on the march to separate hardware and software.
The divisions are not simply for my benefit. Many folks who work to design computers, build applications, and provide technology services find these divisions useful.
The division of computers into these four components allows for any one of the components to be swapped out, or moved to another computer. I can carry my documents and spreadsheets (data) from my PC to another one in the office. (I may 'carry' them by sending them across a network, but you get the idea.)
I can replace a spreadsheet application with a different spreadsheet application. Perhaps I replace Excel 2010 with Excel 2013. Or maybe change from Excel to another PC-based spreadsheet. The new spreadsheet software may or may not read my old data, so the interchangeability is not perfect. But again, you get the idea.
More than half a century later, we are still separating computers into hardware, operating system, application programs, and data.
And that may be changing.
I know that computers are complex objects, and each of these four components has lots of subcomponents. For example, the hardware is a collection of processor, memory, video card, hard drive, ports to external devices, and "glue" circuitry to connect everything. (And even that is omitting some details.)
These top-level divisions, while perhaps not detailed, are useful. They allow me to separate the concerns of a computer. I can think about my data without worrying about the operating system. I can consider application programs without bothering with hardware.
It wasn't always this way. Oh, it was for personal computers, even those from the pre-IBM PC days. Hardware like the Altair was sold as a computing box with no operating system or software. Gary Kildall at Digital Research created CP/M to run on the various hardware available and designed it to have a dedicates unit for interfacing with hardware. (That dedicated unit was the Basic Input-Output System, or 'BIOS'.)
It was the very early days of computers that saw a close relationship between hardware, software, and data. Very early computers had no operating systems (operating systems themselves designed to separate the application program from the hardware). Computers were specialized devices, tailored to the task.
IBM's System/360 is recognized as the first general computer: a single computer that could be programmed for different applications, and used within an organization for multiple purposes. That computer began us on the march to separate hardware and software.
The divisions are not simply for my benefit. Many folks who work to design computers, build applications, and provide technology services find these divisions useful.
The division of computers into these four components allows for any one of the components to be swapped out, or moved to another computer. I can carry my documents and spreadsheets (data) from my PC to another one in the office. (I may 'carry' them by sending them across a network, but you get the idea.)
I can replace a spreadsheet application with a different spreadsheet application. Perhaps I replace Excel 2010 with Excel 2013. Or maybe change from Excel to another PC-based spreadsheet. The new spreadsheet software may or may not read my old data, so the interchangeability is not perfect. But again, you get the idea.
More than half a century later, we are still separating computers into hardware, operating system, application programs, and data.
And that may be changing.
I have several computing devices. I have a few PCs, including one laptop I use for my development work and e-mail. I have a smart phone, the third I have owned. I have a bunch of tablets.
For my PCs, I have installed different operating systems and changed them over time. The one Windows PC started with Windows 7. I upgraded it to Windows 8 and it now runs Windows 8.1. My Linux PCs have all had different releases of Ubuntu, and I expect to update them with the next version of Ubuntu. Not only do I get major versions, but I receive minor updates frequently.
But the phones and tablets are different. The phones (an HTC and two Samsung phones) ran a single operating system since I took them out of the box. (I think one of them got an update.) On of my tablets is an old Viewsonic gTablet running Android 2.2. There is no update to a later version of Android -- unless I want to 'root' the tablet and install another variant of Android like Cyanogen.
PCs get new versions of operating systems (and updates to existing versions). Tablets and phones get updates for applications, but not for operating systems. At least nowhere near as frequently as PCs.
And I have never considered (seriously) changing the operating system on a phone or tablet.
Part of this change is due, I believe, to the change in administration. We who own PCs administer the PC and decide when to update software. But we who think we own phones and tablets do *not* administer the tablet. We do not decide when to update applications or operating systems. (Yes, there are options to disable or defer updates, in Android and iOS.)
It is the equipment supplier, or the cell service provider, who decides to update operating systems on these devices. And they have less incentive to update the operating system than we do. (I suspect updates to operating systems generate a lot of calls from customers, either because they are confused or the update broke some functionality.)
So I see the move to smart phones and tablets, and its corresponding shift of administration from user to provider, as a step in synchronizing hardware and operating system. And once hardware and operating system are synchronized, they are not two items but one. We may, in the future, see operating systems baked in to devices with no (or limited) ways to update them. Operating systems may be part of the device, burned into a ROM.
Tuesday, July 8, 2014
The center of the universe is moving
The real universe, the one in which we live and has planets and solar systems and galaxies, has no center. It is "finite but unbounded" which sounds a bit strange until you realize that the surface of the Earth is also finite but unbounded. There is no edge of the Earth, no end, no boundary. Yet it has a finite size. (The Earth as a planet has a center, but the surface of the Earth does not.)
The IT universe does have centers. For decades, the center of the hardware universe has been the desktop PC and the center of the software universe has been Microsoft Windows and applications for Windows.
That is changing. Windows is no longer the software center of the IT universe. The desktop PC is no longer the hardware center of the IT universe.
The center of the IT universe for consumers has shifted to Apple and Google. The popularity of the iPad, the iPhone, and Android phones shows this. Individuals are happy to purchase these devices. PCs, in contrast, are purchased grudgingly. The purchase of a PC does not instill excitement but resentment.
The center of the IT universe for enterprises remains close to PCs and Microsoft Windows, but it too is moving to cloud computing and mobile devices. Microsoft recognizes this; it has been expanding its Azure cloud services and selling tablets and phones. While it has had little success with mobile devices, it does enjoy some with cloud services. Microsoft is supporting multiple operating systems; its Office products now run on Apple iPads and Android devices.
What does this change mean for the rest of us?
Well, for consumers it means that we will see more options. Instead of the old world of "Windows-only applications running on Microsoft Windows on desktops or laptops", we will see services on Azure available on the device of our choosing.
For enterprises, the same options will appear. This fits in with the "Bring Your Own Device" philosophy, which shifts the costs of hardware from employers to employees.
For developers, the picture is more complex. The old method of developing an application (especially an enterprise application) for Windows only (because Windows was the center of the universe) must give way to a process that develops applications for multiple platforms. The new development paradigm must be mobile/cloud with multiple cloud apps and a solid cloud design.
Microsoft is supporting this new paradigm. Azure supports non-Microsoft products such as Linux. Visual Studio supports non-Microsoft products such as Git, and now targets iOS and Android in addition to Windows.
Almost overnight, the modern Windows-only applications have been graduated to the status of legacy systems.
The IT universe does have centers. For decades, the center of the hardware universe has been the desktop PC and the center of the software universe has been Microsoft Windows and applications for Windows.
That is changing. Windows is no longer the software center of the IT universe. The desktop PC is no longer the hardware center of the IT universe.
The center of the IT universe for consumers has shifted to Apple and Google. The popularity of the iPad, the iPhone, and Android phones shows this. Individuals are happy to purchase these devices. PCs, in contrast, are purchased grudgingly. The purchase of a PC does not instill excitement but resentment.
The center of the IT universe for enterprises remains close to PCs and Microsoft Windows, but it too is moving to cloud computing and mobile devices. Microsoft recognizes this; it has been expanding its Azure cloud services and selling tablets and phones. While it has had little success with mobile devices, it does enjoy some with cloud services. Microsoft is supporting multiple operating systems; its Office products now run on Apple iPads and Android devices.
What does this change mean for the rest of us?
Well, for consumers it means that we will see more options. Instead of the old world of "Windows-only applications running on Microsoft Windows on desktops or laptops", we will see services on Azure available on the device of our choosing.
For enterprises, the same options will appear. This fits in with the "Bring Your Own Device" philosophy, which shifts the costs of hardware from employers to employees.
For developers, the picture is more complex. The old method of developing an application (especially an enterprise application) for Windows only (because Windows was the center of the universe) must give way to a process that develops applications for multiple platforms. The new development paradigm must be mobile/cloud with multiple cloud apps and a solid cloud design.
Microsoft is supporting this new paradigm. Azure supports non-Microsoft products such as Linux. Visual Studio supports non-Microsoft products such as Git, and now targets iOS and Android in addition to Windows.
Almost overnight, the modern Windows-only applications have been graduated to the status of legacy systems.
Labels:
Android,
iOS,
Microsoft,
Microsoft Windows,
software development
Wednesday, February 19, 2014
The great puzzle of Microsoft Office
What will Microsoft do with Office? Or, what should Microsoft do with Office?
Microsoft built an empire with Office. Office was the most powerful word processor and spreadsheet package. It used proprietary formats. It read files from other word processors and spreadsheets but did not write to those formats, making the trip for data one-way: into Microsoft Office. Through marketing, fierce competition, and the network effect, Microsoft convinced most businesses and most home users to use (and buy) Microsoft Office.
Those were the days.
The world is changing.
Large businesses still use Windows for their desktop environment. Small businesses, especially technology start-ups, are using Mac OS or Linux.
Large businesses still use Microsoft Office. Small businesses are looking at LibreOffice (an open source desktop package with word processing and spreadsheets) or Google Apps (an on-line office package with word processing, spreadsheets, e-mail, calendaring, and other things).
The tablet world is dominated by iOS (on iPads) and Android (on just about everything else). Windows holds a tiny share. The same goes for smart phones.
These are the pieces of the great puzzle that Microsoft must solve. What is a software giant to do?
First, some observations.
Microsoft is the latecomer Microsoft is late to the market, but they have been in this position before and succeeded. They were late with C#/.NET after Java. They were late with Internet Explorer after Netscape Navigator. They were late with spreadsheets after Lotus 1-2-3. They were late with word processors after Wordstar and WordPerfect. They were late with databases after dBase and R:Base. Being a latecomer has not doomed Microsoft yet.
New hardware platforms Microsoft must live (and compete) in a world beyond the PC. Phones and tablets must be part of the solution. Tablets and phones are a very different arena for software design, due to the size of the screen, the touch interface, and intermittent connectivity. Any product on the tablet or phone is a different creature than it's PC counterpart.
Multiple software platforms Microsoft must live (and compete) in a fractured world of software, with multiple operating systems (some not of Microsoft's making or control). Offerings from Microsoft must work with iOS and Android as well as Windows.
The desktop software model doesn't work on mobile devices Microsoft's past technique of selling premium software and obtaining market share through marketing won't work on the mobile platform.
Giving these conditions, Microsoft needs a new approach. Here are some ideas:
Sell services, not software Microsoft will not focus on selling copies of Office for the mobile world. Instead, it will focus on subscribers to its services. The mobile versions of Word and Excel and Outlook will be offered at low prices -- perhaps at no cost -- but they will be useless without the service.
Cloud storage, not local files Microsoft Office will store data in the cloud (Microsoft's cloud).
Not documents and workbooks, but pieces assembled Instead of entire documents and complete spreadsheets, Microsoft services will stitch together fragments of documents and spreadsheets. Think of it as an advanced form of OLE. (Remember OLE and our excitement at embedding a spreadsheet in a document?)
Versioning and tracked changes Microsoft's cloud will keep track of the versions of each document (or document fragment), allowing us to see changes over time and the notes for each change.
Access control (for enterprise users) With all of these fragments floating in the cloud, enterprise users (businesses and their support teams) will want to control access by users.
Promotion and publication (also for enterprise) Users will be able to publish data to other users. Users will also be able to work on new versions of data, reviewing it with other members of their team, revising it, and eventually marking it as "available to everyone". Or maybe "available to selected users".
The idea of Office as a service seems a natural fit for mobile devices. Notice this this vision does not demand Windows tablets -- one can use it with iPads and Android devices. I expect Microsoft to move in this direction.
Microsoft built an empire with Office. Office was the most powerful word processor and spreadsheet package. It used proprietary formats. It read files from other word processors and spreadsheets but did not write to those formats, making the trip for data one-way: into Microsoft Office. Through marketing, fierce competition, and the network effect, Microsoft convinced most businesses and most home users to use (and buy) Microsoft Office.
Those were the days.
The world is changing.
Large businesses still use Windows for their desktop environment. Small businesses, especially technology start-ups, are using Mac OS or Linux.
Large businesses still use Microsoft Office. Small businesses are looking at LibreOffice (an open source desktop package with word processing and spreadsheets) or Google Apps (an on-line office package with word processing, spreadsheets, e-mail, calendaring, and other things).
The tablet world is dominated by iOS (on iPads) and Android (on just about everything else). Windows holds a tiny share. The same goes for smart phones.
These are the pieces of the great puzzle that Microsoft must solve. What is a software giant to do?
First, some observations.
Microsoft is the latecomer Microsoft is late to the market, but they have been in this position before and succeeded. They were late with C#/.NET after Java. They were late with Internet Explorer after Netscape Navigator. They were late with spreadsheets after Lotus 1-2-3. They were late with word processors after Wordstar and WordPerfect. They were late with databases after dBase and R:Base. Being a latecomer has not doomed Microsoft yet.
The desktop software model doesn't work on mobile devices Microsoft's past technique of selling premium software and obtaining market share through marketing won't work on the mobile platform.
Giving these conditions, Microsoft needs a new approach. Here are some ideas:
Sell services, not software Microsoft will not focus on selling copies of Office for the mobile world. Instead, it will focus on subscribers to its services. The mobile versions of Word and Excel and Outlook will be offered at low prices -- perhaps at no cost -- but they will be useless without the service.
Cloud storage, not local files Microsoft Office will store data in the cloud (Microsoft's cloud).
Not documents and workbooks, but pieces assembled Instead of entire documents and complete spreadsheets, Microsoft services will stitch together fragments of documents and spreadsheets. Think of it as an advanced form of OLE. (Remember OLE and our excitement at embedding a spreadsheet in a document?)
Versioning and tracked changes Microsoft's cloud will keep track of the versions of each document (or document fragment), allowing us to see changes over time and the notes for each change.
Access control (for enterprise users) With all of these fragments floating in the cloud, enterprise users (businesses and their support teams) will want to control access by users.
Promotion and publication (also for enterprise) Users will be able to publish data to other users. Users will also be able to work on new versions of data, reviewing it with other members of their team, revising it, and eventually marking it as "available to everyone". Or maybe "available to selected users".
The idea of Office as a service seems a natural fit for mobile devices. Notice this this vision does not demand Windows tablets -- one can use it with iPads and Android devices. I expect Microsoft to move in this direction.
Labels:
Android,
iOS,
iPad,
Microsoft,
Microsoft Office,
mobile software,
mobile/cloud,
SaaS,
software as a service
Wednesday, February 12, 2014
Microsoft's big chance in the mobile world
Apple (via iOS) and Google (via Android) have taken a lead in mobile platforms. Microsoft's offerings (Windows Phone and Windows RT) have received a cool reception. Yet I see hope for Microsoft.
iPhones, iPads, and Android devices have become popular with consumers (average folks like you and me) and have limited acceptance in the corporate world. I think Microsoft has an opportunity in the corporate market.
I see three reasons:
IT shops tend to be conservative Many IT shops have strong preferences for Microsoft equipment. It works, and changing to another vendor always entails risk.
The role of mobile devices in the corporation is still undefined We know how to use phones and tablets as individuals (play games, read books, and chat on Facebook) but we don't (yet) see how mobile devices help business. Yes, there are a few specialized applications, such as documentation for aircraft pilots or apps for insurance adjusters. The corporate world is an open field.
iOS and Android platforms change frequently The iPhone has seen five generations, and Android has seen almost as many significant versions in its (relatively) short life. Later versions have forced changes to the design of apps, from internals to the UI. Such changes reduce the life of apps and add to the cost, as one revises an app for the new operating system.
With this environment, Microsoft has an opening. Microsoft can offer Windows RT and provide longer support for each version. And I am specifically looking at Windows RT, the variant that does not run Windows classic applications.
Longer support for versions of Windows RT is necessary, but not sufficient. In addition to a stable platform, Microsoft must offer tools for developers. Not just a version of Visual Studio that builds code for Windows RT, but libraries to connect Windows RT apps to Azure and other (non-Microsoft!) cloud services. Not just support forums, but code to handle authentication and payments. Not just UI designers but modules to connect legacy corporate data to Azure (and thereby to mobile devices).
Apple and Android have shown that mobile devices are technically feasible and that there is a demand for them. Now Microsoft has the opportunity to show that they can contribute to business.
iPhones, iPads, and Android devices have become popular with consumers (average folks like you and me) and have limited acceptance in the corporate world. I think Microsoft has an opportunity in the corporate market.
I see three reasons:
IT shops tend to be conservative Many IT shops have strong preferences for Microsoft equipment. It works, and changing to another vendor always entails risk.
The role of mobile devices in the corporation is still undefined We know how to use phones and tablets as individuals (play games, read books, and chat on Facebook) but we don't (yet) see how mobile devices help business. Yes, there are a few specialized applications, such as documentation for aircraft pilots or apps for insurance adjusters. The corporate world is an open field.
iOS and Android platforms change frequently The iPhone has seen five generations, and Android has seen almost as many significant versions in its (relatively) short life. Later versions have forced changes to the design of apps, from internals to the UI. Such changes reduce the life of apps and add to the cost, as one revises an app for the new operating system.
With this environment, Microsoft has an opening. Microsoft can offer Windows RT and provide longer support for each version. And I am specifically looking at Windows RT, the variant that does not run Windows classic applications.
Longer support for versions of Windows RT is necessary, but not sufficient. In addition to a stable platform, Microsoft must offer tools for developers. Not just a version of Visual Studio that builds code for Windows RT, but libraries to connect Windows RT apps to Azure and other (non-Microsoft!) cloud services. Not just support forums, but code to handle authentication and payments. Not just UI designers but modules to connect legacy corporate data to Azure (and thereby to mobile devices).
Apple and Android have shown that mobile devices are technically feasible and that there is a demand for them. Now Microsoft has the opportunity to show that they can contribute to business.
Sunday, May 19, 2013
The real reason we are angry with Windows 8
Windows 8 has made a splash, and different people have different reactions. Some are happy, some are confused, and some are angry.
The PC revolution was about control, and about independence. PCs, in the early days, were about "sticking it to the man" -- being independent from the big guys. Owning a PC (or a microcomputer) meant that we were the masters of our fate. We controlled the machine. We decided what to do with it. We decided when to use it.
But that absolute control has been eroded over time.
We have gradually, slowly, gave up our control in exchange for conveniences.
Now, we have come to the realization that we are not in control of our computers. Our iPads and Android tablets update themselves, and we lack total control (unless we jail-break them).
I think what really makes people mad is the realization that they are not in control. We thought that we were in control, but we're not. The vendor calls the shots.
We thought that we were in control. We thought that we called the shots.
Windows 8, with its new user interface and its new approach to apps, makes it clear that we are not.
And we're angry when we realize it.
The PC revolution was about control, and about independence. PCs, in the early days, were about "sticking it to the man" -- being independent from the big guys. Owning a PC (or a microcomputer) meant that we were the masters of our fate. We controlled the machine. We decided what to do with it. We decided when to use it.
But that absolute control has been eroded over time.
- With CP/M (and later with MS-DOS and even later with Windows), we agreed to use a common operating system in exchange for powerful applications.
- With Wordstar (and later with Lotus 1-2-3 and even later with Word and Excel) we agreed to use common applications in exchange for the ability to share documents and spreadsheets.
- With Windows 3.1, we agreed to use the Microsoft stack in exchange for network drivers and access to servers.
- With Windows 2000 SP3, we had to accept updates from Microsoft. (The license specified that.)
We have gradually, slowly, gave up our control in exchange for conveniences.
Now, we have come to the realization that we are not in control of our computers. Our iPads and Android tablets update themselves, and we lack total control (unless we jail-break them).
I think what really makes people mad is the realization that they are not in control. We thought that we were in control, but we're not. The vendor calls the shots.
We thought that we were in control. We thought that we called the shots.
Windows 8, with its new user interface and its new approach to apps, makes it clear that we are not.
And we're angry when we realize it.
Tuesday, September 11, 2012
Apple got patch management right, at a cost
Looking at Apple's iOS and Microsoft's update services for Windows, one can see that Apple developed the more effective answer.
Apple's solution for iOS devices (iPads, iPhones, and iPods) covers all apps. With iTunes as the gateway for all apps, all apps can be updated through iTunes. One solution covers all apps.
In contrast, Microsoft's Windows has a messier solution. Windows update services cover Microsoft products, but other (non-Microsoft) products must provide their own solutions. The result is a hodge-podge of update methods, and while most use InstallShield they each have their eccentricities. Small-scale shops can handle the variance, but large shops have large headaches with patch management.
Patch management (or "update management", or "version management") are the headache that was solved with iOS and iTunes. It is also solved with Microsoft's new WinRT app manager (the Microsoft App Store) and is mostly solved with the major Linux distributions. (I say "mostly solved for the Linux distributions" since one can install software from outside the known repositories.)
The grand patch management solutions of iTunes and App Store provide a central location, a single method, for updating apps. The traditional Windows environment allowed for multiple applications from multiple vendors, and there was no one update manager that handled all of them.
But the neat solutions offered by Apple's iTunes and Microsoft's App Store come at a price. That price is part variety and part control. The centralized iTunes and App Store methods limit apps to those approved by the service administrators. Apple can reject any app for any reason (and has been accused of rejecting apps for trivial reasons). I'm certain that Microsoft's App Store will have similar challenges. Apple and Microsoft have "gatekeeper" control over their new distribution mechanisms: apps they like are permitted, apps they dislike are omitted.
Linux, with its strong emphasis on system administrators, has taken a different route. The Linux distros have central repositories for installation and update of packages, but the software managers use a "repository" model which sees software packages (which must conform to certain technical specifications) stored in repositories, and the set of repositories is open. That is, one can select the repositories for your software and receive updates from multiple sources. (The construction and maintenance of a repository takes some work, but the rules for building it are available and open.)
Patch management is important. Software is vulnerable to exploits, and patches can minimize one's exposure. It is something that Windows has worried and frustrated Windows administrators since the beginning of Windows.
In the future, when we look back, I think that the big contribution of iOS and Windows 8 will not be the new UI with its swipes and taps, nor the small form factor, but the patch management. A unified system for updates will be considered necessary for any "modern" system. Apple's iOS delivered that.
Apple's solution for iOS devices (iPads, iPhones, and iPods) covers all apps. With iTunes as the gateway for all apps, all apps can be updated through iTunes. One solution covers all apps.
In contrast, Microsoft's Windows has a messier solution. Windows update services cover Microsoft products, but other (non-Microsoft) products must provide their own solutions. The result is a hodge-podge of update methods, and while most use InstallShield they each have their eccentricities. Small-scale shops can handle the variance, but large shops have large headaches with patch management.
Patch management (or "update management", or "version management") are the headache that was solved with iOS and iTunes. It is also solved with Microsoft's new WinRT app manager (the Microsoft App Store) and is mostly solved with the major Linux distributions. (I say "mostly solved for the Linux distributions" since one can install software from outside the known repositories.)
The grand patch management solutions of iTunes and App Store provide a central location, a single method, for updating apps. The traditional Windows environment allowed for multiple applications from multiple vendors, and there was no one update manager that handled all of them.
But the neat solutions offered by Apple's iTunes and Microsoft's App Store come at a price. That price is part variety and part control. The centralized iTunes and App Store methods limit apps to those approved by the service administrators. Apple can reject any app for any reason (and has been accused of rejecting apps for trivial reasons). I'm certain that Microsoft's App Store will have similar challenges. Apple and Microsoft have "gatekeeper" control over their new distribution mechanisms: apps they like are permitted, apps they dislike are omitted.
Linux, with its strong emphasis on system administrators, has taken a different route. The Linux distros have central repositories for installation and update of packages, but the software managers use a "repository" model which sees software packages (which must conform to certain technical specifications) stored in repositories, and the set of repositories is open. That is, one can select the repositories for your software and receive updates from multiple sources. (The construction and maintenance of a repository takes some work, but the rules for building it are available and open.)
Patch management is important. Software is vulnerable to exploits, and patches can minimize one's exposure. It is something that Windows has worried and frustrated Windows administrators since the beginning of Windows.
In the future, when we look back, I think that the big contribution of iOS and Windows 8 will not be the new UI with its swipes and taps, nor the small form factor, but the patch management. A unified system for updates will be considered necessary for any "modern" system. Apple's iOS delivered that.
Labels:
app store,
Apple,
iOS,
linux,
Microsoft,
package repositories,
patch management
Sunday, April 15, 2012
Forced transitions can work
Technology changes over time. Manufacturers introduce new versions of products, and sometimes introduce radically new products. When a manufacturer introduces a radically new product and discontinues the old product, its customers must make a decision: do the move to the new product or do they stay with the old? This is a forced transition, as it is often impractical to stay with the old product. (New copies or licenses are not available, replacement parts are not available, and support is not available.)
Forced transitions can sometimes succeed:
Forced transitions do not always succeed:
Now, Microsoft is looking to transition its desktop to the new model used by tablets and smartphones. (I call it "tap and swipe", since many of the actions are initiated by taps or swipes of the touchscreen.) Microsoft's vision is present in the Windows 8 "Metro" interface. The computing experience is quite different from classic Windows.
Will they succeed?
Forced transitions can sometimes succeed:
- IBM transitioned customers from their early 704 and 1401 processors to the System/360 processors, and later the System/370 processors.
- DEC transitioned customers from the PDP-11 line to the VAX processor line.
- Microsoft transitioned customers from DOS to Windows, then to Windows NT, and then to .NET.
- Apple transitioned customers from the Macintosh computers with Motorola processors to PowerPC processors, then to Intel processors.
- Apple transitioned the Mac operating system from the original version to OSX.
Forced transitions do not always succeed:
- IBM failed to convince customers to move from the IBM PC to the IBM PS/2.
- DEC failed to convince customers to move from the VAX to the Alpha processor.
Now, Microsoft is looking to transition its desktop to the new model used by tablets and smartphones. (I call it "tap and swipe", since many of the actions are initiated by taps or swipes of the touchscreen.) Microsoft's vision is present in the Windows 8 "Metro" interface. The computing experience is quite different from classic Windows.
Will they succeed?
Microsoft has a lot going for it. They are big and have a commanding presence in the software market. Switching from Windows-based products to alternatives on other platforms is expensive, involving the acquisition of the software, conversion of data, and training of users. Specialized software may be unavailable on platforms other than Windows.
Microsoft also has a lot against its success at the transition. Users are familiar with the current Windows interface and the current tools. The Metro UI brings a very different experience to the desktop and to computing (well, it moves Windows into the realm of iPhones and Android tablets). There will be a lot of resistance to change.
I think Microsoft will succeed, because users have no where else to go. When IBM introduced the PS/2, users had the options of buying IBM PC clones -- and they exercised those options. When DEC introduced the Alpha processor, users had the options of moving to workstations from other vendors -- and they did.
The transition to Windows 8 and Metro forces people to adopt the new interface, but they have no option to replace Windows 7. Changing to Mac OSX will lead to a similar GUI change (I expect future versions of OSX to look more and more like iOS). Changing to Linux creates significant challenges for education and software replacements.
I *do* expect that some shops will move away from Windows. If they have no software that is specific to Windows, if their software is readily available on other platforms, they could move to those other platforms. Some will move to Linux and the LibreOffice suite of tools. Others will move to web-based and cloud-based services like Google Docs and Zoho documents. But I expect these to be a small number of customers. The majority of customers will shift, perhaps unwillingly, to Windows 8.
Monday, July 25, 2011
The incredible shrinking program
Computer programs have been shrinking. They have been doing so since the beginning of the computer age. You may think this claim strange, given that computers are much bigger than earlier eras and programs certainly look bigger, with their millions of lines of source code. And you are right -- computer programs have gotten bigger. Yet they have also gotten smaller.
In absolute terms, computer programs are larger. They have more lines of source code, larger memory footprints, and greater complexity.
Relative to the size of the computer, however, computer programs are smaller.
The earliest computers were programmed with plugboards, so the "software" was hardware. For these computers, there was only a thin boundary between the machine and the program, so in a sense the program was the machine.
Computers in the 1940s and 1950s were programmable in the sense we have today, with the hardware and the software being two different kinds of things. The program was loaded into memory and executed, often by an operator. While running, the program was the only thing in memory -- there was no operating system or monitor. The program had to perform all tasks, from input to processing to output.
With the 1960s we saw the advent of operating systems. The operating system contained common functions and the program called the operating system to perform actions. The model of hardware, operating system, and application program was a solid one, and continues to this day.
But notice that the program is now smaller than the machine. The application program is constrained by the operating system. Combined, the program and operating system fill the machine. (For time-sharing systems, the combination is the operating system and all running programs.) Thus, the program has become smaller, giving some functions over to the operating system.
Microcomputers followed this path. The earliest microcomputers (the Altair, the IMSAI, and others of the late 1970s) were processors, memory, and front panels that allowed a person to load a program and run it. This was the same model as the 1940s electronic computers. Hobbyists quickly developed "disk operating systems" although one can argue that the first true operating systems were IBM's OS/2, Microsoft's Windows NT, and variants of Unix, all of which needed the Intel 80386 processor to be effective. As with the mainframe path, the application shrunk and gave up processing to the operating system.
The iOS and Android operating systems extend this trend. Programs are even smaller under these operating systems, yielding more control and code to the operating system.
In the earlier model, the operating system launches a program and the program runs until completion (by signalling the operating system that it is finished). There is one entry point for the program; there can be many exit points.
The model used by iOS and Android is different. Instead of starting the program and letting it run to completion, the operating system issues multiple calls to a program. Instead of a single entry point, a program has multiple (well-defined) entry points. Anyone familiar with event-driven programming will recognize the similarity: Windows sends programs messages about various events (to a single entry point) and the program must fan them out to separate routines. iOS and Android had removed the top layer of that program and fan out the messages themselves.
Thus, programs have once again yielded code to the operating system, and have shrunk in size.
I think that this is a good change. It removes "boilerplate" code from applications and puts the multiple copies in a single place. Application code can focus on the business problem and ignore an infrastructure issue. Programs gain a measure of uniformity.
The model of the operating system lasted for fifty years (twenty in the PC world) and served us well. I want to think of the new model as something different: an operating system with pluggable tasks. I think it will serve us for a long time.
Friday, July 1, 2011
Looking out of the Windows
According to this article in Computerworld, Microsoft is claiming success with Internet Explorer 9, in the form "the most popular modern browser on Windows 7", a phrase that excludes IE6 and IE7.
This is an awkward phrase to use to describe success. It's akin to the phrase "we're the best widget producer except for those other guys who produce widgets offshore".
I can think of two reasons for Microsoft to use such a phrase:
1) They want a phrase that shows that they are winning. Their phrasing, with all of the implied conditions, does indeed show that Microsoft is winning. But it is less than the simple "we're number one!".
2) Microsoft views success through Windows 7, or perhaps through currently marketed products. In this view, older products (Windows XP, IE6) don't count. And there may be some sense in that view, since Microsoft is in the business of selling software, and previously sold packages are nice but not part of this month's "P&L" statement.
The former, despite the dripping residue of marketing, is I think the healthier attitude. It is a focussed and specific measurement, sounds good, and pushes us to the line of deception without crossing it.
The latter is the more harmful. It is a self-deception, a measurement of what is selling today with no regard for the damage (or good) done yesterday, a willful ignorance of the effects of the company on the ecosystem.
The bottom line is that Internet Explorer is losing market share. This may not be the doom that it once was, with apps for iPhone and Android phones increasing in popularity. Indeed, the true danger may be in Microsoft's inability to build a market for Windows Phone 7 and their unwillingness to build apps for iOS and Android devices.
This is an awkward phrase to use to describe success. It's akin to the phrase "we're the best widget producer except for those other guys who produce widgets offshore".
I can think of two reasons for Microsoft to use such a phrase:
1) They want a phrase that shows that they are winning. Their phrasing, with all of the implied conditions, does indeed show that Microsoft is winning. But it is less than the simple "we're number one!".
2) Microsoft views success through Windows 7, or perhaps through currently marketed products. In this view, older products (Windows XP, IE6) don't count. And there may be some sense in that view, since Microsoft is in the business of selling software, and previously sold packages are nice but not part of this month's "P&L" statement.
The former, despite the dripping residue of marketing, is I think the healthier attitude. It is a focussed and specific measurement, sounds good, and pushes us to the line of deception without crossing it.
The latter is the more harmful. It is a self-deception, a measurement of what is selling today with no regard for the damage (or good) done yesterday, a willful ignorance of the effects of the company on the ecosystem.
The bottom line is that Internet Explorer is losing market share. This may not be the doom that it once was, with apps for iPhone and Android phones increasing in popularity. Indeed, the true danger may be in Microsoft's inability to build a market for Windows Phone 7 and their unwillingness to build apps for iOS and Android devices.
Saturday, January 8, 2011
Keyboards and buggy whips
Various folks have railed against Apple for the UI of some recent programs on Mac OSX. These changes violate conventions of MacOSX and bring the programs in line with iPhone/iPod/iPad UI. While the changes are irritating, I think that they make sense for Apple.
Think about it: The iMac is nothing more than a large, thick, non-portable, touchscreen-less iPad -- equipped with a keypad and DVD drive. Why should it be denied the ease of the iOS interface?
I think that Apple's vision is to bring the goodness of the iPad to larger computers. In this vision, the iMac mutates into an iOS device, better suited to the needs consumers than the old Mac OSX version. The new iMac will sport the large screen for watching movies and playing games. It won't be portable, but then doesn't need to be. (For portable computing, Apple has the iPad and iPod.)
Just about everyone wins in this arrangement. Consumers get computers that are easy to use -- even easier than OSX iMac computers and certainly easier than Windows or Linux PCs. Apple gets revenue. The only ones left out are creators (that is, programmers, authors, and composers of creative works).
The consumer world of iOS, with its mouseless, keyboardless interaction, works for the consumption of computing services. And it works very well.
But the interaction for creatives, those people building the content and programs that make the magic, more is needed than screen swipes and taps. The virtual keyboard is not suitable to high-volume input. Creatives will insist on old-style keyboards -- for a while.
The short term will see a cry for the "classic" interface to computers of keyboards and mice. The long term has a different picture. I see a new form of programming and high-volume data entry, a form that uses no keyboard. It might be voice recognition, it might be iOS swipes and taps, or it might be something else. I expect Apple to introduce this new technology and techniques. (And it may take them a few tries.)
Once the technology is established and proven to be effective, I expect Microsoft to jump on board and implement similar tech for Windows, and then the open source folks to implement equivalent tech for Linux. Both implementations will make modest improvements.
And when the dust settles, keyboards and mice will become things of the past, suitable only for museums and the dark corners of a hobbyist's attic.
Think about it: The iMac is nothing more than a large, thick, non-portable, touchscreen-less iPad -- equipped with a keypad and DVD drive. Why should it be denied the ease of the iOS interface?
I think that Apple's vision is to bring the goodness of the iPad to larger computers. In this vision, the iMac mutates into an iOS device, better suited to the needs consumers than the old Mac OSX version. The new iMac will sport the large screen for watching movies and playing games. It won't be portable, but then doesn't need to be. (For portable computing, Apple has the iPad and iPod.)
Just about everyone wins in this arrangement. Consumers get computers that are easy to use -- even easier than OSX iMac computers and certainly easier than Windows or Linux PCs. Apple gets revenue. The only ones left out are creators (that is, programmers, authors, and composers of creative works).
The consumer world of iOS, with its mouseless, keyboardless interaction, works for the consumption of computing services. And it works very well.
But the interaction for creatives, those people building the content and programs that make the magic, more is needed than screen swipes and taps. The virtual keyboard is not suitable to high-volume input. Creatives will insist on old-style keyboards -- for a while.
The short term will see a cry for the "classic" interface to computers of keyboards and mice. The long term has a different picture. I see a new form of programming and high-volume data entry, a form that uses no keyboard. It might be voice recognition, it might be iOS swipes and taps, or it might be something else. I expect Apple to introduce this new technology and techniques. (And it may take them a few tries.)
Once the technology is established and proven to be effective, I expect Microsoft to jump on board and implement similar tech for Windows, and then the open source folks to implement equivalent tech for Linux. Both implementations will make modest improvements.
And when the dust settles, keyboards and mice will become things of the past, suitable only for museums and the dark corners of a hobbyist's attic.
Subscribe to:
Posts (Atom)