Recently a bunch of companies have been announcing home automation services and products. Google bought Nest and Apple released an SDK for OEMs. Is something really changed?
I have been thinking and discussing with some folks about platforms. Currently there are two approaches to building a platform. The first is building the runtime environment. The quintessential example is Windows OS. If you build desktop apps you use tools specifically designed for building applications on the Windows OS like Visual Basic, PowerBuilder and C++ with MFC. With the rise of the web and no browser monopoly, developers had to deal with fragmentation of the platform. The developer tools and frameworks began to become the platform. Essentially the tools hid the OS or Browser from the developer. Developers just needed to learn the framework and then deploy where the app would run. The two biggest runtime platforms today are Java and .NET. Java’s write once run everywhere captured developers attention. While Java failed on the GUI front I believe it was an implementation issue not a problem with the paradigm.
As iOS market share erodes and Android continues to fragment, developers need to tackle this problem of write once run everywhere head on. Which brings us back to the question of building a platform. The difference is that you the developer must pick what constitutes the platform. What I mean by platform is you the developer chose the OS or your tools as the platform. Neither choices is better than the other. Rather the choice defines how you develop your app and constraints that might be imposed by your choice.
Last week I saw Embarcadero announcing a new version of Delphi. It also included the ability to write iOS and Mac Apps. Being a big believer in cross platform development I had to try it out.
One of the things I have always wanted to do was write the Mobile LOB Accelerator as multi-device application. One of the things that has held me back is the lack of ADO.NET in Silverlight. Yes I know I can use a lot of database implementations for Silverlight. The problem is that I have yet to find a way to spoof in ADO.NET. I would like a class library that device specific UI then consumes. Ah but how about a web site with device specific UI. This is very doable.
Box.net has released a beta to access your files on Box.net using your iPhone. To get to it just go to http://i.box.net on your iPhone. You can share files to your iPhone. Currently you can upload files from your iPhone.
I had been furiously working on a project for a client the last couple of weeks. However, I managed to squeeze in some time to play with my new iPhone. Ok the price dropped and my Nano is old... that's my story and I am sticking to it. I did poke around the Internet and found out about iTunesMobileDevice API. Then I got real lucky since I am a .Net and VS2008 user. I found a C# Wrapper in Google Code. So what can you do with the API - read on.
Today I can confirm that the free iUnlock software reported by Engadget does work. An unnamed source (no not me) unlocked their new iPhone. It is now running on T-Mobile. In addition, the person in question did not have to activate their phone on AT&T before unlocking it. They did update their phone to the 1.0.2 firmware before doing the unlock. Let see price cut on the iPhone, unlock software so I can use the phone on any GSM/EDGE carrier - time to buy more Apple stock.
As a rule I do not give commentary on a company's business moves. However, I just have to say that the cut in the iPhone price is a good thing. Although I am disappointed that Job's gave in to early adopters who paid top dollar. Hey you knew the price and many said they would pay more so stop your whining. In technology it is a fact of life. And if you bought the phone in the last 12 days go get your price difference refund which is a standard policy.