For the past 20 years, the world has experienced computing through an IBM invention called Personal Computer through the user experience controlled by Microsoft. A generation of users have come to expect to see the world through the Microsoft Windows and Microsoft Office interface. Microsoft has reaped the benefits by becoming world’s largest technology company, making Bill Gates world’s richest person (second richest as of March 10, 2010) and creating an ecosystem of tens of thousands of technology companies. Today, May 26 2010 marks a very important event in the history of technology. Today Apple has surpassed Microsoft in its market valuation and has become the largest technology company in the world and the second largest company in the United States. This is important news on many levels. First, this marks the most remarkable transformation in the modern business with Apple coming back from a brink of extinction in 1996 with the help from Microsoft.
What is startling is the shear magnitude of the gains that Apple has made when compared to Microsoft.
. This chart (courtesy of The New York Times) illustrates just how far Apple has come under the leadership of Steve Jobs. Also interesting is the erosion of market cap for Microsoft since Steve Balmer took the rains from Bill Gates.
The second point that this represents is that simplicity wins over complexity every time and that people appreciate and are willing to pay for simplicity much more than they are prepared to pay for function. How else can one explain paying about 10x for a an iPod over competing MP3 players.
The third, and most important point, this represents is a recognition that the PC experience created by IBM and Microsoft and delivered on our desks is on the way out. To be replaced by the small devices we put in to our pockets. No, PC is not dead; nothing in our industry ever dies but from now on, it will be recognized as a vestige of the years past as something that “has been” but never again will drive and control the industry as it has in the past.
For those of us in the IT industry who deal with data, it marks a point where we can no longer ignore the fact that the source of the data and destination for the information we produce has changed. What is important to note that the shape and form of the data and the APIs will have to change as well. It is inevitable. Yesterday I blogged about importance of location based data and with the proliferation of GPS-enabled mobile devices I expect that location-supplemented data will be the norm, not an exception. Just as many of the digital cameras are now marking with location information on every picture that is taken, I expect many data collecting applications will do the same. I think the more profound effects will be in the data access APIs. Windows brought us ODBC, an almost ubiquitous interface to data from applications large and small. And ODBC spawned creation of many similar SQL-based APIs (e.g. JDBC). This will change sooner rather than later. Today’s web applications and disconnected devices don’t talk ODBC and never will. Instead, many applications rely on RESTfull APIs for data delivery. I know it sounds like blasphemy, but data access is moving away from connection oriented, SQL-based APIs to the stateless HTTP-based delivery models with 4 very simple GET, PUT, POST, DELETE primitives.
I think this is a great time to be in the data business. Frankly, the last 10 years things have been getting a bit stale. Since I don’t enjoy a slow and steady descent to the bottom of the technology pile, I am clearing up my bookshelf of the old ODBC, JDBC, OLE DB books and getting myself a whole new set of tools and information. I suggest you do the same.


















[...] DBAs, pay attention: PC is out, iPhone is in [...]
I wholeheartedly agree with the author on Apple, Microsoft and the direction that Data and the internet are heading. Isn’t it also about time we started moving away from bloated markup languages like XML to something a little more sane like JSON for making requests and sending responses between clients and application servers especially when using REST interfaces. Data costs money and so do CPU cycles especially when used to process throw away markup languages like XML… XML is a Container for data, often an expensive one due to bloat… Often Bytes transferred / bytes of data can be 3:1 or higher for XML. Then there is the time taken to parse XML back into real data for storage in databases or to be consumed by applications etc…
JSON (Java Script Object Notation) encoding/decoding enables data to be handled by any programming language worth using. Somebody show me a web enabled client device which doesn’t run javascript to assist in rendering pages.
JSON v.s. XML a simple example:
simplified XML:
1090
Fred
Smith
21 James Lane
Randwick
Sydney
NSW
2xxx
Australia
.
.
JSON for the same data:
{"ADDRESSES":[{"id":1090,"First_Name":"Fred","Last_Name":"Smith","Street_1":"21 James Lane","Street_2":,"Suburb":"Randwick","City":"Sydney","State":"NSW","Postcode":2xxx,"Country":"Australia"},{next address object},{subsequent address object}]}
As can easily be seen from the example above JSON is simplistic and with the propper encoding of html entities etc… can be used to handle the efficient transfer of data between the clients and web / application servers as used in building RESTful applications.
Don’t get me wrong, XML is cool and useful, but grossly over rated when compared to JSON for rapid lean data transfer between web based clients and application servers.
For a full description of JSON see http://www.json.org
Dear moderator, please amend my earlier post, as your application stripped the tags from the XML example;
simplified XML:
<ADDRESSES>
<ADDRESS>
<id>1090</id>
<First_Name>Fred</First_Name>
<Last_Name>Smith</Last_Name>
<Street_1>21 James Lane</Street_1>
<Street_2></Street_2>
<Suburb>Randwick</Suburb>
<City>Sydney</City>
<State>NSW</State>
<Postcode>2xxx</Postcode>
<Country>Australia</Country>
</ADDRESS>
.
.
</ADDRESSES>