| |
Archive for the ‘iPhone’ Category
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, November 8th, 2009
The version 1.5 of MOF Mobile Reference is available for download as of yesterday. This version includes MOF roles, processes and activities. Now I am working on the next version of CMMI Mobile Reference that will include sub-practices and work products.
Posted in COBIT, MOF, Process Improvement, iPhone | 1 Comment »
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 | No Comments »
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 »
Saturday, August 22nd, 2009
During the last few months, I have spent most of my time on mobile process improvement tools. Working on these apps has had the side benefit of giving me a more in depth knowledge of exciting process improvement bodies of knowledge and even more appreciation for their scope. Bodies of work such as these codify a vast amount of practical knowledge and best practices from which any size organization or team–formal or agile–can greatly benefit. I feel the persistent bottleneck stalling wide utilization of these bodies of knowledge is due to the difficulty of internalization. I strongly believe that having the right tools is the remedy for this internalization problem.
The majority of these tools will be imbedded in or made accessible via the user’s exciting systems such as ALM platforms, but a subset of them will run on mobile Internet platforms such as iPhone, Android, and BlackBerry. The ubiquity and instant accessibility nature of these devices make them specially practical in situational usage. You are not always at your desktop when you need process improvement related assistance.
We at Osellus have been working on ALM based process improvement tools for over eight years, and more recently we have started working on mobile process improvement related tooling.
Posted in General, Knowledge Management, iPhone | No Comments »
Saturday, August 22nd, 2009
I have just finished another process improvement/governance related iPhone app, a quick look up reference app for COBIT process areas and control objectives. After two more days of testing, I will submit it to Apple for approval. I’ll let you know once it’s available on the App Store for download.
My respect for the iPhone development platform has increased considerably as I spend more time developing for the platform. Although Objective-C is outdated compared to modern languages such as C# (especially C# 4.0), Apple more than makes up for it with extensive libraries and powerful development and in-device debugging tools.
Posted in COBIT, Process Improvement, iPhone | 5 Comments »
Tuesday, August 18th, 2009
Many times while thinking about or discussing CMMI related topics, I have difficulty recalling a particular process area, goal, or practice. I don’t always have a CMMI book or my laptop handy, but I always carry my iPhone. This got me thinking about developing a CMMI reference for iPhone that I could access at anytime.
I feel this app is useful for any iPhone owner who is into CMMI and process improvement. You can get a free copy of this application from the Apple App Store.
I had so much fun with this application that I am thinking about creating other process improvement, governance, or development methodology related apps.
I hope the process improvement community finds this app useful.
Posted in CMMI, Process Improvement, iPhone | 3 Comments »
|
|
|