ANGARAI, a company based in Prince George’s county, signed an MoU with CI to pursue opportunities in mobile and web applications. The MoU was signed during the signing of ‘Sister State Agreement’ between Andhra Pradesh and Maryland.
To read more:
December 1, 2011
ANGARAI, a company based in Prince George’s county, signed an MoU with CI to pursue opportunities in mobile and web applications. The MoU was signed during the signing of ‘Sister State Agreement’ between Andhra Pradesh and Maryland.
To read more:
October 6, 2011
Facebook has become one of the most popular social networking sites. Most of the users use Facebook applications. How do the applications work? Apps on Facebook are web apps that are loaded in context of Facebook Canvas Page. A canvas page is a blank page within Facebook on which the app is run. Facebook applications are called from the developer’s production environment when the URL is called. The URL of the application is registered in Facebook. When the URL is called, Facebook directs the request to the developer’s server. The application processes the request, communicates with Facebook using Facebook API or Facebook Query Language (FQL). The following are the major components involved in Facebook app creation:
Facebook Canvas Page: Apps are loaded into canvas page. A canvas URL containing HTML, JS and CSS is used to populate the canvas page. When a user requests the canvas page the canvas URL is loaded in an iframe.
Social Channels: The advantage of Facebook Platform is the potential to reach millions of Facebook users. Social channels include bookmarks, notifications, news feed stories and search. Social channels enable new users to discover new apps and allow existing users to re-engage with existing users.
Analytics: Insights regarding app usage helps companies in understanding the interaction between the user and the app. Feedback for stream stories, referral traffic to app, user actions vs active user count, user demographics, permission related information are tracked. Diagnostics for apps are also provided to track API errors, access allocations and throttling information.
Source: https://developers.facebook.com/, Building Facebook Applications for Dummies book.
September 27, 2011
App-stores are increasingly playing a major role in the mobile software market. There are number of tools, libraries and frameworks available in the market for creating of native apps and web apps. The technology for creating mobile apps can be classified as follows:
September 19, 2011
The technology market is buzzing with news about Windows 8 after Microsoft showcased it in the recently held developer conference. It sure looks promising. But what would motivate a user/company to upgrade to Windows 8 if they have recently invested in Windows 7.
These are some basic features which I found interesting after reading through different features of Windows 8. Windows 8 is supposedly going to work well with touchscreen as well mouse and keyboard. The features are leaning towards touch enabled computers mainly. To learn about Windows 8 features terminology you can click here. References for this post have been taken from cio.com.au.
~ Ramya
August 25, 2011
Unit testing is done to validate a piece of code. Developers use unit tests to test a unit of code and to improve code quality. Code Contracts complement unit testing. It was introduced by Microsoft in .NET framework 4. The contracts take form of pre-conditions, post-conditions and object invariants for the classes. Code contracts provides feedback as code is written. It gives useful information about the code being develop. These help in ensuring software correctness in three ways:
They are part of the method implementation and contribute to ensuring the function abides by its contract. Second they force developers to think about what each method if expected to do and why. Finally contracts are form of metadata and the information they convey can be consumed by other code analysis tools like Microsoft static checker. The static checker is triggered by code changes, compile steps and ensures that pre-conditions and post-conditions match. It also ensures that conditions that must hold for a class at all times is always met.
If the contract defined for the classes are correct and no warnings are generated from static analysis then the code is likely to be correct. Correctness refers to the correct flow of actions and data which contracts can verify. Implementation details are verified with unit tests. Unit tests and code contracts complement each other.
Reference for this blog post has been taken from Information Week magazine.
August 18, 2011
Configuration management is key in a software development environment. It helps in maintaining sanity when there are multiple developers across multiple locations working in different time zones. But the success of maintaining the configuration management system lies in the hands of the developer. The developer needs to maintain the check-in check-out discipline. Even if it is not maintained for a day then the sanity of the system can be questioned. At CI we use the following best practices related to check-in:
Please feel free to share any best practices related to check-in policies.
July 4, 2011
With all the hype and information surrounding cloud, the decision to switch over to the cloud can lead anyone’s mind spinning. The move from a desktop based product to a SaaS based business model requires a specialized provider. This post lists the most important factors that ISV’s should look into before engaging with a service provider.
Business: Assess the business drivers behind considering cloud adoption like moving to a newer business model. If there is no immediate competition then the need to migrate may not be necessary. But if moving to the cloud helps lower the operational expenditure then migration would make sense.
Risk: Switching to the cloud completely changes the business model. What was once a license based business model would become a subscription based business model. Customer service becomes key in success of the product as the switching costs for the customer become very low. Risks in terms of frequent product releases, availability, security become pertinent.
While technology is relevant it may not necessarily be as important as the business and risk factors. Compatibility in terms of infrastructure and application platform helps narrow down the choice in choosing the appropriate technology.
Reference: cloudtweaks.com
June 27, 2011
Windows Phone 7 is shipped on devices that meet Microsoft’s design guidelines. Microsoft enforces specific requirements around the types and locations of buttons and logos, and there are rules requiring the single screen resolution supported by Windows Phone 7.
The user interface of WP7 is different. Rather than icons, WP7 uses start page with tiles that can indicate status like the number of emails, facebook notifications etc with easy access to launching the application. Once launched from tiles or the list of applications, non-game applications appear quite visibly different from other platforms in their design, which uses side scrolling design metaphor intended to organize information into unique views or tasks on individual pages.
Similar to iOS, Microsoft approves applications before they can be downloaded. WP7 does not support multi tasking. It also offers limited user customization options.
Reference: Redmond mag
June 20, 2011
Integration is key. Apple and Google have delivered on this focus i.e. tight integration of their products, platforms and services. On Apple iOS devices the built-in iTunes and App Store own the music and software franchises. On Android devices, Gmail and Google search are tightly integrated. Microsoft meanwhile has not exactly kept integration in mind. An explicit download of Windows Live Essentials is required to get Microsoft IM client, blogging client and photo editor.
In the software product development environment, product integration has become very important. The steps listed in the CMMi process framework provides a clear sequence of the process involved.
CI has worked on several projects involving integration of ERP’s with add-on products and CRM’s. While all projects may not have involved all the steps the basic framework for the project usually tends to be the same.
June 13, 2011
Cost cutting has become the norm these days. The fire for new ideas and new technology seems to be held back. Economic downturns offer unique opportunities to launch innovative new products and services. Within a service company, the biggest challenge with driving innovation is getting everyone involved. Innovation lab may not necessarily be the answer as it limits the responsibility to the sole team. Employees are happy doing their assigned work.
At CI, we do not believe in innovation labs. We believe everyone has the right to innovate and is required to innovate. The strategy is to engage more people in the pursuit of innovation while maintaining a sharp focus on the needs of the business and improving customer satisfaction. Innovation efforts are ties closely with customer satisfaction efforts. When the effort is tied to helping a customer, there is pressure in finding the time and opportunity to think out of the box. So how do we encourage employees to innovate: