| |
Archive for the ‘iPhone’ Category
Sunday, June 6th, 2010
Out of all the various mobile platforms (iPhone, Android, Windows Phone 7, BlackBerry) Android, by far, has the most comprehensive and robust support for development of cloud-based mobile apps. This is clearly evident in Android’s Content Provider, Sync Adopter, and Services frameworks as well as Sqlite.
I highly recommend viewing the i/0 2010 session on the topic.
Posted in Mobile Development, Windows Phone 7, iPhone | 2 Comments »
Wednesday, March 31st, 2010
An app, iASL (American Sign Language Translator), we have developed for a key customer has been approved to be part of the premier launch of the iPad App Store–going live this Saturday, April 3. Our team has been working around the clock to finish this app in an extremely short amount of time. It feels good to be part of an elite group of early iPad developers.
Posted in iPad, iPhone | 2 Comments »
Friday, March 19th, 2010
There is no support for embedded sql data storage in the first release of Windows Phone 7. As iPhone OS 3.x fully supports SQLite, this is where iPhone OS 3.X has an important edge over Windows Phone 7. I have used SQLite and core data (Apple’s object relational model) extensively in my iPhone apps. It’s a very powerful feature allowing sophisticated on-device data models (many-to-many entity relationships and entity inheritance).
But there is some hope as Windows Phone 7 supports C# Linqs (object-relational mapping). My guess is that a future release of the OS will support a version of SQL Compact.
Posted in Windows Phone 7, iPhone | 1 Comment »
Tuesday, March 16th, 2010
The answer: integrated support for cloud services.
For more than a year, I have been developing iPhone apps. Most of this apps require extensive server functionality. As mobile application market evolve, the game changer will be the cloud-based services aspect of these applications. That’s where Microsoft mobile platform has a significant edge over Apple’s.
I am just starting to dig into Windows Phone 7 development environment, and the deeper I get the more I like what I see. For one, I like using a modern language C#,and Visual Studio. It’s nice not to worry about memory management, and memory leaks.
My only concern at this point is the performance of the code running on the device. Can Microsoft deliver the close-to-the-metal performance of iPhone’s Objective-C with their implementation C# VM? I’ll find the answer once I port one of my resource intensive iPhone apps to Windows Phone 7 platform.
Posted in Microsoft, Mobile Development, Windows Phone 7, iPhone | No Comments »
Thursday, January 7th, 2010
In the last few months. third party software development world has made a historical paradigm shift to cloud-based computing and App store distribution model.
The most significant aspect of this shift is the opening of almost any platform (televsions, cars, netbooks, phones) to sophisticated third party applications. Each of these platforms has its own unique technology. Previously, these platform were only open to minute number of embedded developers closely working with the hardware vendors and the code was pre-installed on the hardware before it reach the consumer. Now any third party developer can develop apps for any number of these platforms.
Imagine developing an app that users can download to their iPhones that interacts with an app that they have running on their Samsung HD TV. All through a cloud-based platform. The users simply go to Apple’s and Samsung’s App Stores and purchase the app. Or an app running on Ford cars interacting with Android phones. The possibilities are endless.
The multi-technology and app store distribution model of this new paradigm has significantly increased the complexity of the development process, hence making new generation of software development methodologies critical. For example, we have tailored some of our development processes to include micro iterations (to satisfy quick-time-market business requirement), and app store submission/approval activities.
Posted in Mobile Development, Multi-language Development, Processes & Methodologies, iPhone | No Comments »
Tuesday, December 15th, 2009
We have been working on a lot of apps on mobile platforms, especially the iPhone and as I mentioned in my previous post, we keep coming back to the problem of data integrity – in the cases where there is a server component and data needs to be synced up with the server.
Apps that depend on data on a server have several options of accessing data on servers. There is the ubiquitous RSS – get and read feeds. This is great for reading data off a server but quickly loses relevance when the application has a more complex data model and the app needs to write data to the server. The problem of writing data to server is easily solved through web-services, REST services and the likes through which you can talk to a service that takes care of translating your data into the server’s database.
The problem however is keeping the data on the device in sync with the server component. This problem is prominent on mobile devices because while your app on the device is working and live, there is not guarantee of continuous sustained connectivity with the server. Network connectivity is unpredictable and unavailable based on where you are, there are other problems that may interrupt your application. For example on the iPhone, an incoming phone call may interrupt your app while the data is being synced with the server. Your app or your device may crash.
Given all these possible scenarios, how do we ensure that data on the device is always in sync with the data on the server and secondly how do we ensure the integrity of the data given the number of breakages and opportunities for data corruption given the very plausible scenarios I mentioned above.
Over the next few weeks, as we evolve and implement our solutions to this problem, I plan to write a series of posts that looks at this problem in depth and possible solutions and their feasibility. One of the obvious first things we looked at was what are apps out there currently doing to address this issue of data integrity? Answer? Surprisingly little. Most apps out there simply don’t allow the user to do anything that requires server connectivity if the apps detect that there is no connectivity. This is not a great solution, and is primitive – especially given what we have come to expect on the desktop. Solutions like Google gears and soon the offline support in HTML5 make what’s being done on the mobile platforms look primitive.
So, why are we looking at this problem now? Of course we are motivated by the fact that so many apps face this problem but there is no well defined solution and doesn’t look like anybody is looking at it. But perhaps more importantly, technologically the tools are in place at this moment in mobile platforms for us to come up with a solution. The tools and utensils are there, the ingredients are all laid out for us, nobody has come up with a recipe yet or even entered the kitchen.
The iPhone, the Android and soon the Blackberry with v5 of the Blackberry development platform have support for SQLite – a full fledged transactional light weight embeddable database engine on the device itself. The mobile platforms themselves have powerful development kits that allow us to come up with robust solutions in combination with SQLite (and other mobile database engines). The tools are there.
Over the next few weeks, I am going to describe various possible solutions and think through their feasibility and suitability through my posts. I think that would be the best way to get peer feedback and ideas as we hardly know everything there is to know and your input would be invaluable.
Keep an eye on this space.
Posted in Architecture, Mobile Development, The state of the art, iPhone | No Comments »
Sunday, September 27th, 2009
Over the last few days, I have been working on a mobile reference app of the Microsoft Operations Framework (MOF), which I submitted to the Apple App Store this morning. I will let you know once it’s approved and ready for download.
I always wanted to dig deeper into MOF, partly because I had noticed many of our larger customers increasingly utilize it in their mission critical operations. Developing this app has provided the opportunity to do so. I find that developing an application forces you to understand the underlying details of subject.
In developing the first version of this app, I gained a thorough understanding of MOF’s meta-model. I am very impressed with MOF’s vast amount of practical content, and am already thinking about designing the next version of the app with much more content.
My overarching goal in developing these mobile references is to represent the already codified body of knowledge in a form more conducive to internalization. My belief is that the Mobile Internet Platform is ideally suited for effective internalization of codified knowledge.
This is a work in progress but I feel it will mature rapidly.
Posted in Knowledge Management, MOF, Process Improvement, iPhone | No Comments »
Friday, September 25th, 2009
Version 1.1 of the CMMI Mobile Reference is available at the Apple App Store now.
Posted in CMMI, iPhone | 1 Comment »
Wednesday, September 16th, 2009
I have just submitted an update of the CMMI Mobile Reference app to the App Store. I have fixed all the reported bugs in this minor update. I greatly appreciate all the comments, feedback, and reported errors.
I will let you know when it becomes available for download.
Posted in CMMI, iPhone | No Comments »
Thursday, September 10th, 2009
In an earlier post, I referred to the Work Item Tracking iPhone app we are currently working on. The development of this app was motivated by our heavy reliance on Team Foundation Server’s (TFS) Work Item Tracking for internal projects. Using a web browser, our project teams (in Toronto and Bangkok) and customers have a real-time detailed view of their projects. We felt having the same level of project visibility via a mobile device would be very useful.
We wanted the Work Item Tracking app to work with any TFS without requiring installation of additional server module. Consequently, the app has to rely on web services to communicate with TFS server. This isn’t as simple as you may think. Microsoft considers work item tracking web services as too complex for third part development, and doesn’t publish the APIs. Instead Microsoft provides a client component, which wraps the web services, and provides a .Net Object Model API. Fortunately, our team has been able to discover the required work item web services APIs.
Currently I am working on the module that gets a list of projects and work item types for each project from a TFS. I will include screen captures of this module in a future post.
Posted in ALM, TFS, Team Foundation Server, VSTS, iPhone | No Comments »
|
|
|