Stay updated
on our blog

  • SerpicoDEV Blog

News for November 2012

Windows 8 Presents Challenges For Developers

Windows 8 Application DevelopmentWindows 8 launched last month with eye towards the future.

Stalling PC sales and the rise of the tablet forced Microsoft to eliminate the traditional desktop in favor of a touch-friendly, mobile UX design. Gone is the Start button and icons. Arrived is the Start screen and tiles.

With the new mobile touch-screen like interface, Microsoft is pleading with developers to create quality apps for the Windows 8 store. As of last week, the store has over 20,000 available apps. Compare this to the 700,000 and 675,000 for Apple and Google respectively and Microsoft has some work to do. They have invested heavily hoping to reach 100,000 in the first 3 months.

The new interface has presented challenges to developers. Windows 8 is the biggest change we’ve seen in the Windows development model since the move from version 3.X to 95. It has its positives – developers can continue to use their existing skills, whether that is C/C++, C# or Visual Basic, or HTML and JavaScript. But it poses some big challenges that will force developers to adapt.

Back at Square One

If you want your applications to be fully compatible with Windows 8 including running on ARM, you’ll need to do a full rewrite in Windows 8/WinRT. From a business aspect, this is going to cost money. A complete rewrite of an application is going to take time and with time comes higher cost. So you’re either back at square one with recreating the app or you simply don’t create one for Windows 8 until it will actually improve your ROI. Not good news for Microsoft’s attempt at being the largest app store around.

Touch UI and Beyond

The new touch interaction style of Windows 8 on a desktop has made things tricky. Mobile app developers will make this transition with relative ease having worked with touch UI before. But for the rest of the desktop development community, it’s going to be tough.

Making things difficult is creating an app that will work the same using a mouse and keyboard as it does with touch. Often what works well with touch does not work as well on the screen with a mouse and keyboard and vice versa. It’s balancing act – what once was coding with only clicks and keystrokes in mind now includes a world of touch and interaction.

Playing by Microsoft’s app store rules

Play by the Microsoft app store rules or else. Their rules are pretty reasonable, but strict when it comes to the inspection of all apps. The evaluation process includes everything from unhandled exceptions to circular UI paths. While definitely not a bad thing to ensure quality, it does come as a challenge to developers.

Consider the story of Jeffrey Harmon, a long-time windows developer. After winning a Microsoft app contest, he began the process of submitting his app Memorylage for store approval. That was in August.

After receiving his first failure report, Harmon started implementing fixes to remedy the situation. Six submissions later and a failure report for each one, he was ready to give up. “I still don’t know what is causing the failure,” he notes.

Harmon finally got his app approved a few weeks ago at the end of October. The issue wasn’t so much of the store-review process being difficult, but the vague nature of the failure reports. “Everyone at Microsoft that actually looked at the program has said it should pass, and it even made it into a technician’s personal test store. I can’t fix a bug that no one can find.”

He still remains an enthusiastic Windows 8 developer. The approval process was a bump in the road and will be a challenge for those submitting apps in the future.

On the Flip Side

While there are many challenges with Windows revolutionary new interface, there is plenty to cheer about. The Windows 8 SDK is flexible and very powerful. Its versatility makes creating apps for the platform much easier if you grew up on C++ or C#.

Microsoft’s backbone for Windows 8 development may be its support infrastructure. Visual Studio 2012 makes creating Windows 8 app easier with great debugging tools.  Programs like BizSpark and DreamSpark offer developer software tools free for startups and students, expediting the learning process. The Windows App Development Center has endless amounts of documentation.

Challenges for software developers are plentiful but it appears to be short-term. Microsoft has itself positioned to teach developers the skills to create quality apps to put their app store on par with Apple and Google. It may take a while but patience is a virtue.

For more information on SerpicoDEV and our software development services, please contact us.

Posted: November 30th, 2012
Categories: General
Tags: , , , , ,
Comments: No Comments.

Finding Value in Agile Software Development

Agile Software DevelopmentAsk someone the most effective method to develop software and you’ll likely get a wide range of answers. There really is no right or wrong way. It’s really just a matter of using what is most effective for your team.

Two of the most popular methods, Waterfall and Agile, both have their place in software development but in contrasting scenarios. Waterfall uses clear requirements gathered before the development starts. Agile uses incremental development in the form of short “sprints”.

Our development team has always found the Agile software development method to work best and we highlight the reasons below.

Waterfall vs. Agile

As mentioned earlier, the waterfall method is built around all the requirements being gathered before any development occurs. Detailed documentation of how the new software is supposed to look and act are agreed upon by the customer and development team ahead of time.

The software development process then goes through a number of stages from design all the way down to installation and maintenance. The reason it is called the waterfall method is that each stage follows from the previous one when it has been completed, cascading down like a waterfall.

This makes the waterfall approach somewhat inflexible. Customers are often unclear about their requirements initially and waterfall makes it difficult to change the requirements later on. Such changes require more time, and therefore, project cost increases.

On the other hand, Agile software development is based on incremental development. This means that you create deliverables early and refine them through several iterations with the customer. Requirements and solutions evolve through collaboration among customers and development teams.

Less time is invested upfront for documenting requirements when the development process uses Agile. Instead, successful delivery is in part dependent on customer feedback regarding new releases of the software. Customers often gain a better idea of their requirements as the software development progresses. This approach makes it much easier for customer requirement changes to be made on the fly.

Benefits of Agile Development

So what’s the benefit with using Agile? In the world of software development, the benefits are plentiful.

Reduces Risk

What business doesn’t want to reduce risk?

The Agile approach provides a far better opportunity to mitigate risks as they arise.  Being responsive to change instead of following a plan as with waterfall, risks can be addressed before spinning out of control.

This is accomplished by breaking down the development process into “sprints” or short, iterative time frames of development. At the end of each sprint, a working release of the software is provided to the customer. Sprints allow the development team to adapt quickly to changing needs during each individual sprint. This prevents the team from having to practically start over from the beginning to work any new requirements in.

Accommodate Change in Development

Changes in needs and scope have always been primary sources of trouble for a software development project. It often leads to late delivery, missed schedules, and unsatisfied customers. But the iterative approach takes changing requirements into account from the beginning.

Users are going to change their minds as the software is developed—it’s inevitable. And they have every right to do it. As they learn more about the technology, their own business needs, and see working releases of the software, new ideas and requirements are created. Forcing users to accept the system as originally imagined is not just unrealistic, but detrimental to the success of their business.

Higher Quality Software

With an iterative approach, flaws are detected and corrected earlier in the software development lifecycle. Performance and functionality issues discovered early can be reduced, as opposed to being discovered at project delivery. QA testing through each sprint, as opposed to executing toward the end of the project, results in a more thoroughly tested product. Since all these critical functions are tested time and again over several iterations, the result is higher quality software when handed off to the customer.

All these benefits combine to achieve what all businesses want – saved time and money. Each provides a small piece of the puzzle in speeding up project delivery times and thus, reducing cost. The benefit of having flexibility in a project, especially software development, allows a business to find higher project success rates.

Has your business adopted the Agile methodology? Tell us why or why not.

For more information on our software development services, please contact us.

Posted: November 27th, 2012
Categories: General
Tags: , , , , ,
Comments: No Comments.

Giving Thanks in the Software World

It’s that time of year again – turkey and all the fixings, pumpkin pie, and the whole family in one household. It’s also a time to reflect and give thanks for things big and small in our lives.

The software developmenSoftware for Thanksgivingt industry is no different. There are several things to be thankful for that have made everyone’s lives easier. Advances in technology have brought us from the IBM punch cards to user interfaces that can almost do the programming for you.

So after the big dinner is over and you’re trying to avoid falling into the “food coma”, here are a few things to give thanks for in the software world.

Open source software tools

Developer tools have benefited more from the open source software revolution than any other category of software. Gone are the days where you actually had to purchase an integrated compiler, editor, debugger, and linker system. No more spending thousands on developer tools for commercial Unix systems.

The open source era was born when Linux brought out the Gnu Project. Compilers, editors, debuggers, and linkers that came with Gnu were now available for free. As a result, productivity has skyrocketed among software engineers, in ranges of 200-400%.

Not only has this made an engineers life easier, but the industry as a whole has benefited. These days, students can access the tools needed to quickly learn software development, all for free. Combine software engineering students with endless free learning resources and you have a pretty good outlook for the future.

Desktop virtualization

Where would we be without virtualization?

Coding software is one thing. But we all know that coding software is not complete without quality QA and testing. Virtualization has made QA easier and much faster. It used to be a process of wiping a hard drive and reinstalling the operating system. That headache disappears with the click of a button and creating a new VM with whatever operating system you want.

VMware Workstation is one of those virtualization tools that make the $249 cost worth it. QA teams become much more efficient with it by being able to test on numerous operating systems, browsers, and application platforms. Snapshot management allows you to save configurations through patches, service packs, and upgrades. Run into a problem? Just simply roll back to a previous snapshot.

The benefits a development team can realize long term with a tool like VMware Workstation far outweighs the one time fee.

Advancements in mobile development

Building a mobile app that runs on more than one platform, with minimal code changes, is comparable to landing on Mars in the tech world. The HTML5 stack using CSS and JavaScript is one potential solution. But the mecca is Microsoft’s .NET plus C# to create applications that can run natively on Android and iOS.

The combination of C# and Mono Tools allows a developer to share an application’s code across multiple platforms. Slap a native user interface on top of the code for each platform and you have applications for Droid and iOS.

Applications created with this approach will look and feel native because they’re using the same APIs exposed by the platform. Mono tools can even help clean up the platform APIs and make them easier to work with than those exposed by the native languages.

What’s this mean for you? Developers can now concentrate on satisfying the user requirements rather than having to manage multiple code sets for each new platform. Less time spent developing a new application for every platform means less money and resources spent.

People

New development platforms, open source tools, and virtualization are all great advancements in the industry. But they can’t provide any benefit without the one thing we should all be giving thanks for: the people. Software developers, designers, and QA folks are the ones who make this whole world of software development turn.

There is no magical way to automatically turn a huge document of user requirements into an application. Code just doesn’t type itself into a working online tool or web application. Testing doesn’t take care of itself.

Every application or online tool you use still requires the knowledge, education, and experience of people. Only then can an innovative and sometimes even world changing application be created.

Here at SerpicoDEV, we are truly thankful for our talented team of developers, designers, and QA testers. It’s because of their countless hours and effort that our clients are always happy with the delivery time and quality of their software development. Without our team, none of this would be possible.

So before you sit down and eat, take a short moment to be thankful for what really makes your software function – the people. And if there is anything we missed, leave a comment and let us know. Have a Happy Thanksgiving.

For more information on SerpicoDEV and our services, please contact us.

Posted: November 19th, 2012
Categories: General
Tags: , , , ,
Comments: No Comments.

News Feature – tripchi

News Feature - tripchitripchi, a leisure app for the business traveler, was recently featured in CNBC’s World’s Most Promising New Companies. SerpicoDEV serves as the software development partner for tripchi and would like to congratulate CEO Chandra Jacobs for this high distinction.

tripchi is a mobile app that helps business travelers find actionable things to do during their down-time. It is explicitly designed for the business traveler–this means it focuses on usability and speed to get to relevant and actionable recommendations. In doing so tripchi removes the fluff that leisure travelers care about but business travelers don’t, and cuts right to the chase to get the business traveler onward to interesting activities.

With tripchi, you can be on your way to something interesting to do in five minutes or less–whether it’s catching a concert, noshing at a local favorite, or getting your culture on, tripchi allows you to have instant gratification. It captures your personality in 3 steps, with adaptive/learning algorithms incorporating your interactions, and analysis of your social media profiles, to cut down the number of questions to answer. The recommendations served up include all the information needed to have you on your way, including pictures, a description, reviews, directions, and purchasing ability.

Chandra is currently based in Boston, where she is gaining momentum for tripchi in the local market as well as nationally as seen by this CNBC feature. You can follow Chandra’s blog about travel, entrepreneurship, and random adventures at therestlessroad.wordpress.com.

Read more about tripchi on our client spotlight, including a behind the scenes look at the development process. Look for the app to be available in the iPhone app store soon.

For more information on SerpicoDEV and our software development services, please contact us.

Posted: November 16th, 2012
Categories: General
Tags: , , , , ,
Comments: 1 Comment.

Online Work Causing a Shift in the Paradigm

Online Work for BusinessesAs the business world moves into the age of the millennials, one thing is for certain – they want to own their own business.

But a business is about the only thing they actually want to own. An article from The Atlantic calls the millennials a “post-owning” generation or at the very least, a “less-owning” generation. In layman’s terms, millennials want to own less and take advantage of resources only when needed.

With the current state of our economy, millennial business owners and entrepreneurs are moving to a more on-demand way of work. What used to be a process of hiring full-time employees and purchasing equipment and office space has moved to using resources “as-a-service”. Technology resources that have traditionally been in-house have now moved to the cloud, coined by phrases like software-as-a-service, infrastructure-as-a-service, and platform-as-a-service.

Since most start-up businesses are strapped for cash, they need to find a way to be lean and extremely scalable. Cloud services allow for this by offering cheaper resources that can be altered on-demand as business needs dictate.

This trend has also shifted into another part of starting a business that is often the most expensive – employees. Thanks to the growing acceptance and adoption of online work, businesses can increasingly access contract workers on an on-demand basis. Entrepreneurs are using the “human cloud” to realize cost savings, speed up time-to-hire, and access talent worldwide.

With the rise of the millennial entrepreneurs, the trend is expected to increase substantially. Businesses are turning more to hiring online workers to find the talent they need. Not only is it a cost savings, but also allows them to find talent not otherwise available in their local market.

So what’s in store for the future? Elance and oDesk, both leading providers for hiring online workers, help us take a look.

  • Working online will become “the norm” – An Elance study found that 54% of the workforce will be online by the year 2017 and 84% of businesses realize a competitive advantage when hiring online. With more and more businesses realizing the advantage of online workers, it may become “the norm” quicker than expected.
  • Hiring online will become a long-term strategy – Virtual teams are around to stay. A survey by oDesk shows that 84% of businesses see online hiring as a long-term strategy. As budgets continue to shrink, businesses will implement this strategy into their long-range plans as a way to get better production out of fewer dollars.
  • Online software developers will be highly sought after – Elance survey results shows that the Software Developer continues to be the top career hired online. In particular, web development was forecasted to increase 50% in online work for 2013. With most software development done on a project by project basis, businesses will continue to utilize online contract work to complete projects only when needed.

As businesses continue to realize the benefits of the online workplace, they will be more likely to consider it as a long-term option for cutting costs.  By no means will it eliminate the in-house employee, but it does give entrepreneurs and start-up businesses a fighting chance to succeed. And in the state of today’s economy, we need all the new business creation we can get.

For more information on SerpicoDEV and our software development services, please contact us.

Posted: November 12th, 2012
Categories: General
Tags: , , , , ,
Comments: No Comments.

Technology Agenda for the Second Term

Technology Agenda for President ObamaIf you had been paying attention to the debates and campaigns leading up to this week’s election, you may have noticed a key issue missing that directly impacts our economy.

For the most part, technology was absent or only briefly discussed by both candidates. Debate moderators never asked a question about anything technology related and the topic could not be found on either candidate’s websites.

That doesn’t mean it can be swept under the rug.

Many people take technology for granted but as the old saying goes, you don’t know what you got until it’s gone.

Even with the lack of discussion, many experts see 3 areas that will top Obama’s technology agenda.

Technology Infrastructure

Our technology infrastructure serves as virtually the backbone of all communication and financial transactions in this country. Time and resources will have to be contributed to be able to withstand a disaster that could compromise this backbone.

Hurricane Sandy, for example, made that evident when mobile carrier networks quickly became overloaded during the disaster making a call almost impossible.

In addition, with the passage of what both parties now call Obamacare, electronic health records (EHR) and medical IT is becoming a very big thing.

According to IDC Health Insights, 80 percent of the health care market will adopt EHR by 2016.  With our country’s health information eventually being completely stored in the cloud, a reliable infrastructure will be imperative.

Cyber Security

Obama has been fairly active in terms of strengthening the nation’s response to cyber attacks in his first term. Look for more of that to continue.

Recent signs from Secretary of Defense Leon Panetta have indicated that the Pentagon is about to release new rules of engagement for cyber security.  These rules would put government on a more proactive approach instead of only being reactive.

A cyber attack on our country’s technology infrastructure would cripple financial institutions and the government itself.  It’s already been predicted that cyberspace will become the world’s next major battleground and as Panetta put it “a possible cyber Pearl Harbor”.

That statement alone should be enough to encourage the White House to continue to make cyber security a priority in the next 4 years.

Technology Education

Obviously, the most pressing issue for the President to address is fixing the economy. Decreasing the unemployment rate and job creation are focal points of economic recovery and was a centerpiece of the presidential election.

The opportunity to increase employment through training for tech jobs in mobility, big data, and cloud computing is huge. Cloud computing expects to be one of the fastest growing sectors of the tech services industry, causing job growth in this field to skyrocket.

We cannot waste this opportunity.

With more and more of our services being moved online every day, we need people who can maintain and support those systems.  Currently, we don’t have those people, driving up the need for technology education even more. Better education and training creates more jobs helping the economy recover quicker.

On a larger scale, technology and innovation is highly dependent on spending and investment.  Without continued economic recovery and growth, the money won’t be available to invest in research and development to spur new technologies. Should growth be stalled and we slip back into recession, the technology sector will go with it.

The agenda for the next four years is already long, but technology considerations need to be a vital part of the government’s to-do list.

For more information on SerpicoDEV and our software development services, please contact us.

Posted: November 8th, 2012
Categories: General
Tags: , , , , ,
Comments: No Comments.

Is Online Voting Reliable Enough?

Online VotingWelcome to election day, 2012. Today, 130 to 140 million people will cast their votes for America’s next president in one of the more anticipated elections in recent history. But not everyone will be heading to the local voting booth to do his or her part. Some states now allow online voting as way to increase voter turnout.

Is online voting secure enough to eventually make it the primary method of voting? Someday it may be. But for now, the consequences are probably just too risky.

In the wake of Hurricane Sandy, New Jersey implemented an alternative to the voting booth for those displaced by the storm. Residents can now use email (yes I said email) to submit their votes today. Talk about a scary alternative.  Computer-security expert Matt Blaze explains:

“The security implications of voting by e-mail are, under normal conditions, more than sufficient to make any computer security specialist recoil in horror. E-mail, of course, is not at all authenticated, reliable, or confidential, and that by itself opens the door to new forms of election mischief that would be far more difficult in a traditional in-person polling station or with paper absentee ballots.”

The main issue is that officials have no way of accurately verifying all of the votes submitted online and via email.  While New Jersey is not expected to be a close race, this would be a major concern where the vote is only separated by a few.  Case in point: Florida in 2000 between Al Gore and George W. Bush where votes had to be recounted by hand to determine the results.  Who knows what would have happened if these votes were made by email or online and the accuracy could not be double-checked.

Despite these concerns, some states are embracing online voting as a way to counter low voter turnout.

Oregon, for example, allowed disabled persons to vote with iPads during a special election in November 2011 and will continue in 2012.

Oregon is also one of 11 states that currently or will soon let residents register to vote online as long as they have a valid identification card. All other states require voter registration in person or by mail.

This raises a major question – are the online software and communication tools used to vote actually secure enough? It has a number of pros, most importantly increasing voter turnout.

But the implications of potential fraud are frightening. If the wrong person is put into office due to inaccuracy or tampering of online voting, the consequences may be irreversible.

For more information on SerpicoDEV and our services, please contact us.

Posted: November 6th, 2012
Categories: General
Tags: , , ,
Comments: No Comments.

Client Spotlight: tripchi – The Leisure App for Business Travel

Our client spotlight this week gives us an inside look at tripchi, an application that assists business travelers in finding activities during their down-time.  Serpico DEV has a great working relationship with tripchi and CEO, Chandra Jacobs, as a software developer of the mobile application.

tripchi - A leisure App for Business Travel

The Product

tripchi is a mobile app that helps business travelers find actionable things to do during their down-time. It is explicitly designed for the business traveler–this means it focuses on usability and speed to get to relevant and actionable recommendations. In doing so tripchi removes the fluff that leisure travelers care about but business travelers don’t, and cuts right to the chase to get the business traveler onward to interesting activities.

With tripchi, you can be on your way to something interesting to do in five minutes or less–whether it’s catching a concert, noshing at a local favorite, or getting your culture on, tripchi allows you to have instant gratification. It captures your personality in 3 steps, with adaptive/learning algorithms incorporating your interactions, and analysis of your social media profiles, to cut down the number of questions to answer. The recommendations served up include all the information needed to have you on your way, including pictures, a description, reviews, directions, and purchasing ability.

The Platform

The tripchi iPhone application was developed utilizing the MonoTouch platform and Objective C programming language. This method provides the highest scalability and offers a primary advantage of sharing code across devices, making it available for Android and future Windows 8 development. The Android version of tripchi is currently in development using MonoAndroid and the native code, which will speed up compilation and application performance.

The Process

A major factor in the delivery of a successful software development project is collaboration between the client and development team. Serpico DEV and tripchi engage in an agile development process driven by constant interaction and communication. Daily scrum meetings and weekly feedback from the tripchi management team ensures the application is developed in accordance with user requirements. Serpico DEV takes pride in this “hands-on” approach as it allows clients to make their vision a reality in the most efficient way. Constant collaboration between clients and development teams help the project be delivered on time and within budget, benefiting everyone involved.

tripchi will launch on the iPhone app store soon.  Visit the website and sign up to be the first to know! And, if you’re a business traveler, you can also take the tripchi survey on business travel habits for market research purposes.

For more information on Serpico DEV’s software development services, please contact us.

Posted: November 1st, 2012
Categories: General
Tags: , , ,
Comments: No Comments.