Archive for June 2012
Just a few short years ago, MySQL was the undisputed king of the open-source database hill. But, today, non-relational, “cloud,” or “NoSQL” databases are gaining mindshare as an alternative model for database management, with its market emerging at an 82 per cent compound annual growth rate.
NoSQL recently received quite a positive bump when Twitter announced it was moving from MySQL to the Java-based NoSQL Cassandra database. Among most popular NoSQL databases are: Cassandra, CouchDB, HBase, MongoDB, and Redis. Twitter isn’t the only one to be using NoSQL. Other notable sites using various types of NoSQL implementations are Facebook, and Rackspace, Digg ,Disney, Forbes, foursquare and MTV.
The term “NoSQL” was coined back in 1998, and it originally stood for Not Only SQL. So the name NoSQL is a bit of a misnomer. NoSQL began its life as an alternative form of structured data storage. Today’s NoSQL databases are distributed data stores that are designed for very large-scale data access requirements.
So as you see from the examples of companies that are using NoSQL, NoSQL databases are fast becoming popular for web apps because of the simplicity and scalability they provide as compared to regular relational databases. This is especially helpful when designing social networking apps because of the sheer amount of data that needs to be processed and served.
Key advantages of using NoSQL database are:
1. Flexible key/value store – This makes reading and writing data super-fast.
2. Schema less – This makes then a great fit for non-structured or semi-structured data.
3. High Scalability – Most NoSQL databases are designed from ground up to run on multiple servers, which makes partitioning and hence scaling for higher loads much easier compared to regular relations databases.
But of course, you will never find an ideal tool and everything comes with a cost. NoSQL databases sacrifice a little bit on consistency in favor of scalability and latency. So, they turn out to be not a good choice for mission critical data, like banking, stock markets, or any other financial institutions.
All pros and cons should be taken into consideration while choosing what technology to use. Also different approaches can be combined together. Depending on the app, we can either choose to store all data in a NoSQL database or store just transient data like status updates, comments, notifications, etc.
NoSQL databases are becoming an increasingly important part of the database landscape, and when used appropriately, can offer real benefits. However, enterprises should proceed with caution with full awareness of the legitimate limitations and issues that are associated with these databases. What are your thoughts on NoSQL database? Do you use it in your business? Will be interesting to know your thoughts
At WWDC 2012, Apple took the wraps of iOS 6. Due to be released in the fall of this year, Apple has added several new features to the OS that will surely be a boon for business. Lets jump in and talk about a few of these features and how they may benefit your organization.
One of the most talked about Apps to receive an upgrade in iOS 6 is Maps. Apple chose to drop Google as its map provider and built a new solution from the ground up, using crowed sourced data for traffic and Tom technologies for navigation. The App now renders maps using vector art, making the App much more responsive while adding a great new feature called Flyover, which renders cities in stunning 3D. Siri is now fully integrated as well, so asking for directions will instantly produce turn-by-turn navigation results. You can even ask Siri, while navigating, how much longer until you reach your destination.
For those of you out there that manage your organization’s social media, the introduction of Facebook integration will almost certainly be assisting in your day-to-day task. Simply add your Facebook username and password within the iOS setting, just as you do with Twitter now, and Facebook will automatically authenticate Apps that use Facebook authentication. Share your information using hooks that can be built into any App using Apple’s Facebook API and from most every App that comes native in iOS.
Passbook is a very interesting tool that Apple will be making available in iOS 6. Think of Passbook as your digital wallet, allowing you to store boarding passes, movie tickets, retail coupons, loyalty cards, and more. Granted Passbook will make travel far more convenient with powerful features such as real time updates such as gate changes and location based notifications.
There isn’t really much new with FaceTime. Essentially it’s the same App as before, only now FaceTime works over 3G. But combined with the power of AirPlay, and the ability to project your conference to a display, it’ll be a renaissance in telecommuting, networking, and conferencing. As more iOS devices come to market and business adopts them, video conferencing will become far more accessible. FaceTime is remarkably easy to use and convenient, as it can be accessed while traveling.
The phone App received some simple but great new features, and features that seem to be targeted right at professional users. In the new phone App, declining a call produces a new set of actions, such as Reply with Message or Remind Me Later, allowing you to message the caller or remind yourself after a meeting while sending your call to voice mail. Additionally, for those times that your undivided attention is needed, Apple has provided a new Do-not-Disturb preference within the OS Settings.
Mail has received a few minor but useful tweaks such as a new VIP inbox that allows you to easily select contacts from your address book that will place any email communications into a specially marked inbox. Also mail now has the ability to add photos and videos inline.
Have you heard about some others updates to iOS 6? You could list them bellow.
Professional Software Development
Cloud technologies seem to be a modern trend-they are talked over at all the conferences, that are by some means connected with the Internet, are discussed in business press and on TV. It looks like another modern technological gimmick for Twitter, Facebook, various CRM and ERP systems, eAccountancy etc. Meanwhile, does cloud usage bring any benefit to business sites that do not provide hi-tech services?
In this article I will try to determine the benefits from using the cloud for the most popular business in the Internet – eCommerce. We will try to understand, if there is sense for a webstore owner to consider the possibility of transfer into the cloud.
In a classical data center there is possible such a situation, when there are no sufficient resources, which means the project loses the users who were not able to get access to it. It entails losing profit as well. On the other hand, when the load decreases, vacant resources stand idle, thus expenses for infrastructure support turn out to be wasted.
Let’s calculate lost profit for a hypothetic web-store. On the condition of having 10 customers per hour and average basket cost 100 dollars, one hour of down time will cost 1000 dollars. I’m not even talking about reputational risks – a consumer, who went to the rival during the down time, may never be back again. He also may lure his friends and acquaintances to another site.
Windows Azure allows developers to realize automatic addition and cutting off the resources, if necessary, through the special mechanism of resources management. It goes without saying that the owner of the site can add and cut off the resources manually using special portal of Windows Azure management.
Fatal failure, leading to the loss of all data or even a part of them, can entail eBusiness burst-up. Thus, reliability turns out to be even more important than lost profit from possible down times. In the cloud data duplicate automatically and store on different physical resources to secure the site owner from possible losses. Moreover, clouds allow storing the data even on geographically spaced sites. For example, Windows Azure automatically stores up to three data copies, at the same time it allows distributing data in Europe, America or Asia. It secures the data from serious failures.
When is it worth using the cloud?
1. Periodical load
In case the load happens at some definite time (working/off-hours), or definite days of the week (work days/ weekends), a site always faces the situation of resources idleness, when there are no load peaks. Consequently, it leads to extra expenses on unusable infrastructure.
2. Peaking load
Seasonal sales, holidays, promo actions lead to peaking site loads. Such loads are difficult to be predicted, while losses from possible down times or site irresponsiveness may be really huge.
3. Constant load growth
In case of constant load growth it is necessary to add resources. At the same time if load growth can not be precisely predicted, a site often lacks resources (site down time, failures), or there emerge lots of unusable resources (wasted expenses)
For the most part of simple sites the cloud turns out to be more expensive than a usual hosting. At the same time cloud cost is explained by reliability of storing data, failures security, possibilityof elastic expansion and decrease of usable resources. Actual expenses depend on the site itself, its load characteristics, and can be calculated with the help of TCO Calculator.
Despite being more expensive, cloud hosting turns out to be more reasonable for most web shops, where constant availability and high quality service are really important.
Has anyone already transferred his/her site to the cloud? Please, share your experience and impressions, it would be really interesting to learn!
Business Development Manager
Professional Software Development
Before you read the article I would like to notice that it’s just a subjenctive opinion 🙂
So, what is PHP4 and ASP.Net? ASP.NET – is not a continuation of ASP, but is conceptually a new Microsoft technology, created as part of ideology. NET. Key stakeholders of .NET are scalability, cross-language interaction and shaky concept of “safe programming”.
PHP is conversely an open and free technology. Of course, it would be wrong to decipher PHP as Personal Home Page today, but we still can hear echoes from the past to these days. PHP is a scripting language, created exclusively for dynamic HTML output. This does not mean that it is impossible to create a major project, this means that a large project for PHP is expensive and difficult.
Programming in PHP does not require an expensive programming environment. It would be enough a textbook to learn how to write more or less workable scripts. But it doesn’t work with ASP.NET. There is nothing to do without Visual Studio, MSDN and sometimes access to internet. Most part of time anovice developer spends on studying MSDN. By that time when he have learnt heaped model of classes and all the necessary functions, Microsoft probably will come up with something new. But if you could learn it…
Using ASP.NET with Visual Studio it looks like to work with Delphi. The main languages in which applications written in ASP.NET are Visual Basic.NET and C #, respectively, are the heirs Visual Basic и Java/C++.Theoretically, under ASP.NET, you can write programs in any language for which there is a corresponding compiler. However, in practice, to create ASP.NETapplications are mainly used Visual Basic.NET and C #. “Native” environment of ASP.NET is IIS, running Windows. And yes, IIS is not known as the most stable web server, and Windows – is not the most stable operating system.
ASP.NET does not suit for small projects, and even more – for a few triggered groups that do not require precise control. The causes are many – from the high cost of the platform and ending with the complexity of the model classes.NET. When you collide with .Net you could think who could understand and learn it all? But then you understand – nobody. The credo of .Net is not to go to own business, write your module, learn its functions, know your place – this principle works fine in the collective .
In the ideology of Microsoft a programmer is a small cog in a well-established mechanism, singles have never been considered. Thus large projects accrue for .Net.
Thus there are no places for PHP programmers in such projects. Why? Because they will require a lot of coordinators, who must be paid. Most part of coordination in .Net takes over itself. PHP technology is fundamentally different from ASP.NET. PHP resembles a mixture of C and Perl with a little spice of Basic and Pascal. But ASP.Net looks like a classic
PHP4 trusts developers so much and there are no types, to declare variables is not necessary. PHP syntax is made for a quick and simple solution of common problems. The entire responsibility of dangerous stunts belongs to the programmer, what in particular leads to the widespread phenomenon, as the discovering of serious errors in the code one month after delivery of the project. The sphere of PHP is not large, it is small projects, which developed by either one specialist or a closely work group . As PHP is free the language has become an ideal choice for SMB or copyrights
Speed. Theoretically, ASP.NET must run faster as we deal with once compiled binary code, whereas PHP-scripts are re-processed each time. However, PHP work on IIS and Apache with a great load (although artificially induced) and always produces better results than ASP.NET even better then .ASP classic.The ligament PHP + MySQL + Apache works better and faster than ASP.NET + IIS + Microsoft SQL Server 2000.
Does it mean that ASP.NET is worse? I don’t think so. The speed is assured that all PHP applications run in a single address space, when ASP.NET checks and double checks the data repeatedly, keeping each application in a separate address space.The first pproach is faster but less reliable, the second – is more reliable, but there is a price. Unfortunately miracles do not happen L.
About work . Briefly describe the feeling to work with PHP it is constant process of debugging this is to the fact that the language contributes serious logical errors.
Even primitive typo (highlighted in red) leads to a logical error, which would not be in C# in principle. In general, there is not any declaration of variables in PHP, which is a big minus.
Also as a rule, updating version of PHP on the server is a headache for customers and programmers. Sometimes it is very difficult to find a mistake, especially if it appears only under certain circumstances, so that it could be never revealed to the delivery of the project. It is strength and weakness of PHP. When you plan in C# and write different classes , interfaces for collections to create a page in one fell swoop for ten minutes then. In PHP you could create the page several. Still every next page is created in 10 mins on ASP.Net when in PHP you would spend the same time again and again.. If you need to change smth on the page visually, you would need 5 mins in ASP.Net, but in PHP you would need look for and change HTML.
Thus small and medium projects are fate for small groups of PHP programmers; when medium and medium and large – the inheritance of large groups, using products of Microsoft, and giant projects share between HP, IBM, Sun, Oracle, and prices are too higher, but this is another story J
Thus in conclusion I would like to notice at the beginning pace of ASP.Net development should fall sharply, then grow steadily and eventually stop at a certain level, whereas the opposite is true in PHP.
Thank you for your attention!
Elvira Golyak – Business Development Manager (LI page)
Elvira.Golyak@altabel.com | Skype ID: elviragolyak
Altabel Group – Professional Software Development
Microsoft started using an open development style with the Windows Azure SDK last year. It’s worked and worked well, so now they’re expanding the style to include some of the popular frameworks like ASP.NET.
At first Microsoft made the source code for ASP.NET MVC available under an open-source license. Now, the company has open-sourced another hearty chunk of its ASP.NET technology to the delight of some open-source players.
While the source for ASP.NET MVC has had source available since its inception, and converted to the MS-PL license in April of 2009, the developers didn’t take contributions from the community. While Microsoft was open source it was not “open source with takebacks.” Now ASP.NET MVC, Web API, Web Pages take contributions from the community.
Microsoft is open sourcing more of its ASP.NET programming-framework technologies and it allows developers outside of Microsoft to submit patches and code contributions for potential inclusion in these products. ASP.NET MVC 4, ASP.NET Web API and ASP.NET Web Pages v2 also known as Razor now all open source with contributions under the Apache 2.0 license. You can find the source on CodePlex.
Over the last four years at Microsoft developers have worked closely with the community to get feedback and voices heard by the developers. The goal of open-sourcing these technologies is to increase the feedback loop on the products even more and allow to deliver even better products. For instance, when having found a bug you can send a unit test of fix. If coverage seems not to be sufficient a developer can send a test unit. If community developers come up with a feature, they can get involved more deeply and help write it.
Like every large open source project, every check-in (open source or otherwise) are evaluated against the existing standards used by the developers. Even better, community managers get to see Microsoft developers’ checkins to the product out in the open.
Still it’s really important to remember that ASP.NET MVC, Razor, and Web API are fully supported Microsoft products and will still be staffed by the same developers that are building them today. The products will be backed by the same Microsoft support policy and will continue to ship with Visual Studio. Also, to be clear, Microsoft is maintaining the same level of development resources as always and actually, there are more Microsoft developers working on ASP.NET today than ever before.
Quite often the question about ASP.NET Web Forms arises, as it is not open sourced. The thing is the components that are being open sourced at this time are all components that are shipped independently of the core .NET framework, which means no OS components take dependencies on them. Web Forms is a part of System.Web.dll which parts of the Windows Server platform take a dependency on. Because of this dependency this code can’t easily be replaced with newer versions expect when updates to the .NET framework or the OS ships.
So Microsoft has reached the final stage in embracing open source—not only by opening up the code, but also by taking contributions. Do you think moving to an open development model, will make Microsoft products stronger?
With the iPad’s domination of the tablet space and the iPhone continuing to enjoy strong sales, interest in development for these two platforms keeps growing. If you’re getting ready to jump into iOS development, these practical insights will help you get started.
First of all you need a Mac. It may sound like a conspiracy theory to get folks to buy Macs, but without a Mac you won’t be able to get your application onto a device for testing. And you need to be testing on a device.
You really should get an iPad and an iPhone or iPod Touch. Yes, there is a simulator. But the truth is simulators only go so far in replicating the experience a user will have. Even “simple” applications can be a joy to use in the simulator and a hassle on an actual device. And since you’ll likely want your application to work well both for iPhone/iPod Touch and iPad, you will want to get an iPad and either an iPhone or an iPod Touch (the two are identical as far as development is concerned).
Objective-C is a bit of a throwback. While Objective-C supports modern programming elements like object-oriented code, it is a fairly low-level language, too, and it clearly has not strayed too far from C.
XCode is radically different from Eclipse and Visual Studio. Coming from the Visual Studio system, with a couple of minor detours into Eclipse, you’ll find XCode a bit jarring. The focus is really less on everything that happens in the toolbars, sidebars, and menus, and more on what happens in the middle of the screen, which is writing code as text. This isn’t to say that XCode isn’t visual or that it lacks tools. But the overall system simply has a different philosophy from the kitchen sink approach that Eclipse and Visual Studio take.
XCode is ready to work with Subversion or Git. Out of the box, XCode comes equipped to work with Subversion or Git. You are still free to use any other source control system you want (through command-line tools, if they don’t have a GUI system or XCode integration). But if you already use Subversion or Git, you will be happy.
You should sign up for your developer account early. It can take up to two weeks for your developer account to be approved. The sooner you sign up, the sooner you will be able to get your app deployed to your test devices or uploaded to the App Store for approval.
There are different types of developer accounts. Developer accounts come in three major flavors: individual, company/organization, and enterprise. The main difference between individual and company/organization is that the latter allows you to create users within the account who can access it. Individual accounts are limited to a single user. Enterprise accounts are an entirely different beast: They allow for private deployments, which is exactly what an IT department writing apps for internal use needs. There is also an academic account for students, which allows some access to the developer program.
You can write code without a developer account. The good news is, if you are just learning, and are willing to forego deployment to a test device or putting your app in the App Store, you can use XCode and the iOS simulator without a developer account. The developer account has lots of benefits, including early access to betas and such, but for learning purposes, no account is needed.
iPads are not just big iPhones. When designing UIs, it’s tempting to think that iPads are just large iPhones. While this is more or less true at a code level (apps that run on iPhone will run on the iPad, though iPad-specific apps will not run on iPhone), it is a big mistake for designing the UI. An iPad’s bigger screen allows you to pack a lot more information on the screen without overwhelming the user, and the larger screen size will affect what kinds of UI widgets can be comfortably used.
Professional Software Development
Mobile apps have the potential to do everything from bring you information just when you need it to brightening up a dull train journey – but many have the potential to collect more information than end users may expect, not least their location. Location-based services are appealing both to individuals and businesses, whether for finding the best coffee shop in the area or for supporting logistics planning at an enterprise level – many delivery companies are now so dependent on systems using GPS that without them they could collapse.
Despite these benefits, the reality is that users are not always made aware of the purposes for which their location data is gathered and in some cases, not aware that this sharing is taking place.
If you are an app or service provider that uses location-based services, you should be considering the following:
Be measured. Don’t gather more information than absolutely required. Doing so increases your liability for what can be minimal business gain.
Think globally. This approach means not just considering market reach but also potential implications of different privacy legislations around the globe. This task is complex and in itself should make you reconsider the reward versus risk obtained from data gathered.
Be transparent. While mobile platforms will normally inform users of apps that will access sensitive functionality, such as location-based services, it is important that you provide end users with an explanation of why data is being collected and for what purpose – either via a screen on your app or a link to your website – ideally, do both.