DeveloperDirect - QBS Software Ltd

Transcription

DeveloperDirect - QBS Software Ltd
PRODUCTS • LICENSING • ARTICLES • PRIZES
DeveloperDirect
Modern Programming tools
Spring 2013
Start
Weather
News
Reviews
Business
DON’T MISS THESE Top Reads
Visual Studio 2012 for Individuals and Teams........................... 4
Win a Microsoft Surface............................................................ 6
Spice Up Your Apps with HTML5............................................... 7
Parallelism Opportunities.......................................................... 8
Develop with Pleasure............................................................. 10
Keeping Our Show on the Road............................................... 12
One App Fits All....................................................................... 14
Win a Microsoft Surface! - Page 6
Delivering Docs Across Devices............................................... 15
Back to the Future................................................................... 16
www.qbssoftware.com
08456 580 580 | [email protected]
We make it happen
DeveloperDirect
Delightful charts, gauges and maps
in JavaScript (HTML5)
FusionCharts Suite XT transforms all the boring data in your web and enterprise applications into
delightful experiences. It is the perfect addition to all your reports, dashboards, monitors, analytics
and surveys. FusionCharts Suite XT works seamlessly across PCs, Macs, iPads, iPhones and a majority
of other mobile devices.
21,000 customers and 450,000 developers in 118 countries trust and use FusionCharts Suite XT to add
delight to their web and enterprise applications. The same delight that powers over a billion charts
per month across the globe.
Spring 2013
Welcome!
The launches of Visual Studio 2012 and Windows 8 have introduced
a new development platform for developers and programmers.
Many projects are being planned or already under way for building
applications for the new Windows store. With regular releases of new
portable devices like tablets and smartphones, the development of
mobile and modern applications becomes more complex with an array
of screen sizes, hardware specifications and configurations to keep in
mind.
Inside this edition of Developer Direct, you will find tools and solutions
that will help when developing mobile and modern applications using
Visual Studio 2012 based on the newest operating system, Windows 8.
In this increasingly competitive and saturated market place, it is vital
you be the first to publish and take your app to market. Whether you
need controls and components to give a sleek, polished look to your
app UI or want to know how Visual Studio 2012 can help you and your
team, you will find a snapshot of your options as you read on.
QBS began as a software house and still holds the dedication to develop
and publish software. Our passion for technical software increases our
willingness to share the latest trends in the industry with you. I hope
this issue of Developer Direct introduces you to some new tools, tips
and tricks when developing modern applications.
Dhara Kothari
Marketing Manager
CONTENTS
STAY IN TOUCH
Professional Network
Sign Up to our RSS Feed
Visual Studio 2012 for individuals and teams.................................. 4
Win a Microsoft Surface................................................................. 6
Spice Up Applications with HTML5-based Data Visualisation.......... 7
Parallelism Opportunities............................................................... 8
Share Your Views with Us
Watch Solutions in Action
Like Us
We are @qbsdevelopers
Develop with Pleasure.................................................................. 10
Keeping Our Show on the Road.................................................... 12
One App Fits All............................................................................ 14
Delivering Docs Across Devices..................................................... 15
Back to the Future........................................................................ 16
Productivity Tools for Developers from QBS Software................... 17
Contact Us
Start adding ‘delight’ to your applications today!
www.fusioncharts.com
www.qbssoftware.com/fusioncharts
Our Business hours are
from Monday to Friday
08.30 hrs - 18.00 hrs GMT/BST
Talk to humans, not an answer service.
Customer Service
Technical
Marketing
QBS Software
+44 (0)20 8733 7108
[email protected]
Sales Republic of Ireland
+353 766 060 808
[email protected]
Accounts
Sales UK
7 Wharfside
Rosemont Road
Wembley, Middlesex
HA0 4QB, UK
Free UK Mainland Delivery
(online orders only)
+44 (0)20 8733 7171
[email protected]
+44 (0)20 8733 7105
[email protected]
Free Technical Advice
www.qbssoftware.com
+44 (0)20 8733 7102
[email protected]
08456 580 580
+44 (0)20 8733 7101 (International)
[email protected]
Buy in £, $ or €
3
DeveloperDirect
DeveloperDirect
Visual Studio 2012
Integrated Development Environment for Individuals and Teams of All Sizes
C#
SaaS
by Andy Wigley, Technical Evangelist, Microsoft.
.NET
@qbsdevelopers
Web development
As with everything in our industry, the role of the software developer and the types of applications being built is evolving at breakneck
speed. We have seen an explosion of new platforms and developers increasingly have to work on a diverse range of technologies and use an array of
development skills. Visual Studio 2012 gives you the tools you need and supports your development efforts, whether you are building for Windows
8, Windows desktop, Windows Phone, Cloud, Web, SharePoint or Office.
Visual Studio 2012 Editions
G
etting started with Visual Studio 2012 is incredibly easy.
Express editions are available for Windows 8, Windows Phone,
Windows Desktop and for Web. These reduced functionality
editions are completely free and give you the tools you need to get
started creating great apps.
If you are a professional developer, you’ll need one of the more featured
editions:
• Visual Studio 2012 Ultimate with MSDN – The complete toolset,
with support for building apps for web, desktop, Windows Store,
cloud and server, Team Foundation Server access, tools for managing virtual lab testing environments, agile project management tools,
peer code review workflows, automated user interface, web, performance and load testing, tooling to collect and analyse runtime diagnostic data from production systems and much more.
• Visual Studio 2012 Premium with MSDN – Rich toolset supporting
building apps for all the platforms, rich testing support, Team Foundation Server access, agile project management tools and automated
user interface testing and code coverage analysis.
Developing Apps for Windows 8
It’s no secret that a new age of modern apps is here. With connected devices and cloud-based services, you have bigger and better opportunities
than ever before. Independent developers can plug in from anywhere,
build a brilliant app, and make it available to millions of users. Large,
agile teams can give their businesses a significant advantage—and the
faster they execute, the greater that advantage can be.
The whole Visual Studio IDE has been streamlined to give a clear, uncluttered developer experience compared to earlier editions. When the
time comes to test, you can test directly on your Windows 8 development PC, or you can use the built-in simulator that allows you to test
your app in different orientations and on different screen sizes.
“Independent developers
can plug in from anywhere.”
• Visual Studio 2012 Professional with MSDN - Support for building
apps for web, desktop, cloud, Windows Store, cloud and server, Team
Foundation Server access and unit testing, plus access to the full catalogue of Microsoft software products.
Microsoft Windows Azure provides a highly scalable and reliable
hosting infrastructure and toolset for applications and services
running in cloud. Windows Azure is an open platform and developers
can choose to build applications by using a variety of tools and web
application frameworks with programming languages such as Java or
PHP. However, most developers are likely to use Visual Studio 2012
as the development environment, to use C#, Visual Basic or F# as the
programming language, and to use the .NET Framework to provide
the runtime services. Developers working in this environment will
find that Visual Studio 2012 makes developing, deploying, and testing
applications and services for Windows Azure very easy.
Web Development
Visual Studio 2012 is the tool for web developers who want to create a
simple web application quickly. Equally, Visual Studio 2012 is ideal for a
team of professional developers working on a large, rapidly evolving web
application, because it offers full support for source control, testing, code
reviews, and deployment.
Summary
Previously, most applications ran either on a server or on a desktop. Today, many other platforms are common; smartphones and tablet devices
are becoming ubiquitous.
Learn more about Visual Studio 2012: www.qbssoftware.com/VS2012
• Visual Studio 2012 Professional – Support for app development for
web, desktop, cloud, server and Windows Store, rich debugging and
unit testing.
4
Music
Visual Studio 2012 makes it easy to develop applications for multiple
platforms, including Windows Phone smartphones, slate devices
running Windows (including the new full-screen tailored applications
for Windows 8), the Xbox 360 console, and of course on traditional
desktop computers.
• Visual Studio 2012 Test Professional with MSDN – Toolset to support the needs of the software test professional.
All editions, except the base Professional edition, offer connectivity to
Visual Studio Team Foundation Server 2012. Team Foundation Server gives you enterprise-grade source code control and tools that enable
operations staff and project managers to work more closely with the development team to realise faster delivery cycles and to add real business
value. Visual Studio Team Foundation Server 2012, in common with
previous versions of Visual Studio Team Foundation Server, is available
for installation on a local server. However, there is now another option.
Team Foundation Service is available as an online software-as-a-service
Store
Cloud Development
(SaaS) version of Team Foundation Server - http://tfs.visualstudio.com/.
It is a fully hosted solution offering easy configuration and a relatively
small upfront capital expenditure. This gives organisations that previously did not want to invest in or maintain a local server the opportunity
to take full advantage of the capabilities of Visual Studio Team Foundation Server 2012.
In addition to the built-in capabilities,
other software development kits can be
downloaded that integrate into Visual Studio
2012. The most well-known of these is the
Windows Phone 8 SDK which you can find at
http://dev.windowsphone.com. Just released are
the Office Developer Tools for Visual Studio
2012, which allow you to create rich, immersive
apps for Office 2013, SharePoint 2013 and
Office 365. These tools require Visual Studio
2012 Ultimate, Premium, or Professional.
IDE
Visual Studio 2012 comes packed with new project templates and tools
to help you build compelling, touch-enabled Windows 8 Store Apps. As
with any of the other project families supported in Visual Studio, you
can select from a collection of new project templates to get you started
building a Windows 8 Store app.
www.qbssoftware.com
Visual Studio 2012 also includes great integration with the Windows
Store, so you can package and submit your apps right from within the
IDE. A developer subscription to the Windows Store and the Windows
Phone Store is included with the Visual Studio 2012 editions that include
an MSDN subscription and are available at additional cost to developers
without an MSDN subscription.
“Visual Studio 2012
offers full support
for source control, testing,
code reviews and
deployment.”
08456 580 580 | [email protected]
5
DeveloperDirect
Win!
DeveloperDirect
A NEW
MICROSOFT
SURFACE RT
Spice Up Your Web and Mobile Applications
with HTML5-based Data Visualisation
by Kiril Matev, Technical Evangelist, Infragistics
H
TML5 has taken the developer world by storm over the last
two years. Apart from being seen as the technology which
allows the building of light-weight, cross-platform offlinecapable mobile applications, it is also increasingly seen
as powerful and flexible enough to enable data visualisation scenarios
which rival and exceed the functionality and interactivity provided by
applications, based on native technologies.
What is shaping this revolution? What capabilities does HTML5 offer,
and how can we benefit from data visualisation controls that are already
available to shorten the development cycle? Let’s take a brief look at the
drivers of this change, and how you can benefit from the availability of
rich data visualisation controls to enhance your application’s usability.
Data visualisation before HTML5 was limited to two worlds: the rather
static world of ASP.NET AJAX web pages, where charts and maps rendered on the server as images; and the rich world of plugin-based web
application development platforms such as Flash, Silverlight and Java,
which placed some mobile devices off-limits, and required startup times
users found unacceptable.
The HTML5 Canvas element, and HTML5’s support of touch behaviours
on client devices, made it possible to create and interact with graphics
on the client, which presents a significant opportunity to developers. It
enables drawing of anything from simple charts and maps, to sophisticated graphs and diagrams which users can readily interact with. All the
data that’s been sitting in the backend of our applications can be brought
to the UI and visualised, interacted with and even made available offline
on mobile devices.
About the Microsoft Surface RT
Microsoft Surface RT bridges the gap
between work and play and provides
you with the power of Windows, the
productivity of Office Home & Student
2013 RT Preview and the joy of Xbox,
music, movies and games. You will be
able to access documents and files
that have been saved to your SkyDrive
cloud storage space for on-the-go data
analyses or presentation amendments
and once you reach your office, you will
be able to pick up exactly where you left
off. With the HD video out port, you will
be able to share your holiday photos,
music and videos on a large screen for
true large screen media enjoyment.
6
HOW TO ENTER
We want to continue to bring you the latest news and keep you abreast
of current trends from the developer community. To ensure we deliver
this directly to you and concentrate on those topics that are of most
relevance for you and your organisation, please tell us what interests you
the most and the sort of information you’d best like to receive.
All you have to do is complete a short online questionnaire before
Friday 17th May 2013.
To thank you for your time and support, we will enter all completed
questionnaires into a draw to win a Microsoft Surface RT tablet.
www.qbssoftware.com/microsoftsurface
Competition entry will close on Friday 17th May, midnight. The winner will be
announced shortly after via email.
www.qbssoftware.com
Infragistics has recognised these trends and is enabling developers to
add data visualisation spice to their apps through its IgniteUI product.
Apart from the controls you need to write your typical line of business
application, including grids, editors and tree controls, IngiteUI has a chart
and map control which lets you create a wide variety of visualisations.
The chart control is based on the high-performance XamDataChart
control for XAML, and apart from a wide variety of series and axis types,
tooltips and touch interactions, it gives you zooming and panning using
the mouse and mouse wheel. This enables users to process large datasets
with ease, which makes the web, or mobile application as powerful as the
desktop in the functionality it offers. The chart also supports displaying
real-time changing data, which lets you create a live display of a data feed
without any plugins, so you can instantly track the live status of a system
or process in a web application.
The second data visualisation control which is a part of the IgniteUI
product is the map control. It lets you integrate your application data
with a shape file or a variety of sources of raster data such as Bing Maps
or OpenStreetMaps, also supporting spatial data from Microsoft SQL
Server, Oracle and others. For example, you can visualise your customers on a map, the routes vehicles take through a road network, or
a weather map which displays precipitation over an area. Also, you can
create zoom-able thematic maps, which shade regions according to the
values of a property, for example encoding the proportion of sales in
different sales regions with shading.
Both the chart and map offer zooming and interacting with data much
more than older image-based controls. However, we can do even better.
We can use these controls to animate changes in data over time. We can
bind our time series data and use the controls to show snapshots. We’ll
transition between different snapshots of data at set intervals creating a
fluid animation of time series data. For example, this lets us illustrate the
changing proportion of different products a company sells over time, or
the share of sales from different regions over time. As users are able to
control the playback of data, and to move to snapshots of interest, they
have a much greater level of control over the visualisation than was ever
possible before in a web or mobile application.
The technology to help us build interactive dashboards showing live
data, or animating through our time series data, is there. We can easily
do this in the browser and on the mobile devices – we have already illustrated these scenarios with showcase samples on our website, as shown
in the image.
So where is our next challenge? I believe it starts with the user, with
showing your users these new capabilities and working with them to
understand what data specifically they need visualised, and how, so they
can see their data easily, make decisions quickly, and openly say - that’s
a job well done.
Infragistics is a global software company whose products & services elicit
digital experiences across browsers, platforms, and devices. Infrasitics’
comprehensive UI suite, NetAdvantage Ultimate, empowers developers to
create epic applications, using powerful grids & brilliant data visualisation.
Along with solutions for .NET, Ultimate includes toolsets for HTML5/jQuery,
iOS, Android, & Windows UI, plus Indigo Studio for interactive prototyping.
Infragistics’ Services division adds UX expertise to ensure end-to-end
delivery of successful projects. Infragistics’ business mobility applications
– SharePlus, the universal mobile SharePoint app & ReportPlus, for mobile
dashboarding and reporting – round out Infragistics’ portfolio of the
industry’s most functional technology products.
www.qbssoftware.com/infragistics
08456 580 580 | [email protected]
7
DeveloperDirect
DeveloperDirect
Identify Parallelism
Opportunities
with these
Three Strategies
by Intel Staff
I
n the process of parallelising software, once developers have a
structured approach for establishing a tuning methodology and
workload, they are ready to locate opportunities for parallelism.
Those opportunities correspond to specific bottlenecks in the serial code that lend themselves to parallelisation. This paper begins by defining bottlenecks and discuss where they come from, before identifying
three top strategies for locating them:
• Optimise serial code before looking for parallelism opportunities, to
avoid distraction by serial inefficiencies, helping to ensure that you
will focus on the right hotspots.
• Use the tools available to maximum benefit, including the Intel
VTune Performance Analyzer and Intel Parallel Advisor Lite.
• If necessary, tag key pieces of code for redesign with algorithms that
lend themselves to parallel processing on n-core systems.
What Are Bottlenecks?
It’s important to know what performance bottlenecks are and the characteristics of bottlenecks that can be addressed using software multi-threading. The first order of business is to establish the difference
between a hotspot and a bottleneck:
• A hotspot is a place where the processor spends a lot of time, which
can be measured using analytical tools during the performance tuning process. Since a lot of time is spent on these sections of the code,
it stands to reason that shortening the amount of time spent on them
will speed up the overall operation of the code.
At the same time, however, it is also important to note that just because the processor spends a lot of time in a certain operation, that
doesn’t necessarily imply that the section of code is inefficient. It may
simply be that a lot of work is being accomplished there.
• A bottleneck is an area of code that is a hotspot because of inefficiency;
in this framework, therefore, some hotspots are bottlenecks, and all
bottlenecks are hotspots. To put it another way, hotspots are potential
bottlenecks, so identifying hotspots is a sound first step toward
finding bottlenecks. Using this definition of a bottleneck effectively
zeroes in on opportunities for optimisation.
The focus here is on bottlenecks whose inefficiency on multi-core
hardware is because that code doesn’t take adequate advantage of
hardware parallelism. Bottlenecks may also arise from inefficiencies in
8
serial code, and the relationship between those two types of inefficiency
is discussed later. While we tend to think of hardware parallelism as
being provided by multiple physical cores within a single processor, it is
also useful for the sake of completeness to recognise two other common
types of hardware parallelism:
• Intel Hyper-Threading Technology is a hardware feature that provides the ability of a processor core to support two threads simultaneously.
• Symmetric multi-processing is parallelism provided by the presence
of multiple processors within a single system.
Opportunities for addressing bottlenecks using software multi-threading
arise when processor-intensive code can be broken down into multiple
tasks that can be accomplished simultaneously. It is important to keep
in mind that some slow parts of applications do not lend themselves to
parallelisation. For example, if the processor is not the rate-determining
factor (such as when the processor has to wait for I/O operations or
is memory-bound), parallelisation may not be a viable approach to
optimisation.
Where Do Parallelisable Bottlenecks Come From?
Now we are ready to turn our attention to more specific matters about
what causes those bottlenecks and how to go about finding them.
This discussion will lay the foundations for our top three strategies
for identifying the best opportunities for performance improvements
related to parallelism.
To start with what may be an obvious observation, bottlenecks that can
benefit from parallelisation occur within single-threaded or procedural
code. It may be slightly less obvious to point out that those serial portions may also occur within a larger application that is already multi-threaded. This distinction is useful in considering parallelisation as
an iterative process. The developer identifies the parts of an application
where threading can benefit overall performance the most and applies
threading there first. At that point, the application is part parallel and
part serial, where some of the serial portions may also lend themselves
to threading in the future.
Given this understanding of the typical multi-threaded application, the
task of identifying bottlenecks is finding places where missed opportunities for parallelism exist. Examples of such opportunities, which are
discussed in more detail below, include the following:
www.qbssoftware.com
• Processor-intensive tasks that could be performed in parallel but
aren’t. Missed opportunities in this category include operations such
as updating a user interface at the same time as performing some
type of back-end processing and are sometimes known as “task-level
parallelism.”
• Data sets that could be processed in parallel but aren’t. Missed opportunities in this category include operations such as converting multiple database records to a different format such as a comma-delimited
file and are sometimes known as “data-level parallelism.”
As a rule of thumb, looking for these design patterns as early in the design process as possible is best. Identifying these opportunities before
initial coding is ideal, since it can help to prevent the need for redundant
programming work. That said, it is more usual to identify opportunities
for parallelism throughout the software lifecycle.
The Top Three Strategies for Addressing Parallelisable
Bottlenecks
So far, we’ve laid the theoretical foundations for identifying parallelism
opportunities. We have discussed what bottlenecks are (and what they
aren’t), as well as what types are good candidates for performance improvement by means of parallelisation. We have also covered common
issues that cause those bottlenecks, as well as some of the concepts that
underlie looking for them.
We now turn to the strategies themselves, with an eye toward helping
you create a process for implementing parallelism as simply and effectively as possible. These three strategies are not exhaustive, but taken in
order, they provide a sound basis for identifying key opportunities in
your code to implement software multi-threading.
Strategy One: Optimise Serial Code Before Looking for Parallelism
Opportunities
Since finding the best opportunities for parallelisation depends on finding parts of the application where the processor spends the most time,
it stands to reason that you must first minimise the effect of serial inefficiency. If you inadvertently focus on places where the processor spends
more time than it should simply because the serial code is sub-optimal,
you will have an inaccurate picture of parallelisation opportunities.
Another way of looking at the same concept is that, if serial optimisation
changes the parts of the application where the processor spends the most
time, you will necessarily look at different pieces of code to find parallelisable bottlenecks. A well-optimised serial application provides a strong
foundation upon which to base your parallelisation efforts. As a corollary to this, being as familiar as possible with the operation of the serial
algorithms will be helpful as you identify parallelisation opportunities,
as well as build the threaded versions.
Strategy Two: Use the Tools Available to Maximum Benefit
While a theoretical understanding is a prerequisite for identifying opportunities for parallelisation, a variety of programming tools exist to
help. Judicious use of these tools helps make those identifications more
accurate, as well as improving the efficiency of the process. They are
therefore invaluable in improving the quality of the threaded software,
as well as containing the investment of time and effort required.
Intel VTune Performance Analyzer is designed to provide profiling of
applications that rapidly identifies hotspots. The tool outputs a visual
display that shows how the execution path travels through the code, allowing multiple views where a programmer can drill down to the specific piece of code responsible for specific behaviours. Using the VTune
environment, development teams can easily see where the processor is
spending the most time, which is very valuable in establishing opportu-
nities for optimisation of both serial and
parallel code. It also integrates with Intel
Thread Profiler, which helps visualise
the operation of threads and the interactions between them, so developers can
see where imbalances exist within an application’s threading model.
Intel Software Development Products
in general are designed with parallel
software in mind. While discussing the full spectrum of those tools is
beyond the scope of this paper, the reader should note that those tools
address the full software lifecycle. In addition to helping find opportunities for multi-threading, they aid in threading implementation, tuning,
and troubleshooting.
Strategy Three: If Necessary, Tag Key Pieces of Code for Redesign
When analysing code for parallelisation opportunities, it’s also necessary to keep an eye out for design aspects of the programming that don’t
lend themselves to parallelisation. The reasoning behind this strategy is
fairly simple. Serial code is designed with the intention of completing
a set of tasks in succession, one after the other. Parallel code identifies
pieces of work that are independent of one another, so they can be done
simultaneously.
To create a set of steps that can be completed in parallel, it may be necessary to break the work up differently than in the serial code. There
are various techniques for doing so, which are collectively known as decomposition. The main ways of breaking work up for parallelisation are
task decomposition and data decomposition. A brief discussion of each
will introduce the concepts behind arranging data and work for parallel
processing. Note that the goal here is not to discuss how to actually redesign algorithms, but simply to recognise some fundamental types of
opportunities.
• Task decomposition (also known as “functional decomposition”)
consists of identifying different tasks that can be carried out at the
same time, each of which can be completed on its own thread. For
example, a word processor might continually refresh the display to
reflect the user’s work, perform background save and printing functions, and cross-reference each word of text as it is written against
a saved dictionary list. A “master thread” would also be needed to
coordinate the work of the other threads.
• Data decomposition consists of simultaneously performing the
same task on multiple pieces of data. A classic example is applying a
graphical effect to an image, such as lightening a photograph. Each
pixel of the picture needs to have the same algorithm applied to it
(calculating new colour information), and many can be completed
simultaneously, provided that a master thread keeps track of the
overall work.
Each of these types of decomposition requires a different approach
to breaking up the work being performed by the code than the serial
version, and in many cases, that will require a fundamentally different
approach. Some caution is required here to ensure that the potential
benefit is appropriate to the time and cost requirements of recoding. On
the other hand, for serial portions of code that take a substantial amount
of processor time, fundamental redesign is sometimes the best option.
Conclusion
While parallelism is a key design precept, opportunities for threading
can be found at any point in the application lifecycle. The concepts here
will get you started.
Learn more about Intel tools: www.qbssoftware.com/DDINTEL
08456 580 580 | [email protected]
9
CHOICE • EXPERIENCE • RESPONSE • SERVICE
DeveloperDirect
Develop with Pleasure
by Maria Khalusova, Product Marketing Manager, JetBrains
D
eveloping outstanding apps for iPhone/iPad as well as for
any other devices requires not only a creative mind and
appropriate programming skills, but also reliable and intelligent tools. A smart integrated development environment
can save you a lot of time by performing routine tasks for you, but also
prevents you from making mistakes or complicating your code.
JetBrains is known as the world’s leading vendor of smart developer
tools, famous as creator of IntelliJ IDEA - an ultimate IDE for Java developers, ReSharper – an irreplaceable productivity tool for Microsoft
Visual Studio, and many other IDEs and team tools. Now, all the experience, knowledge and craving for utmost productivity put into these
top-notch tools have also been applied to Objective-C, allowing to create
an intelligent Objective-C IDE called AppCode.
As you might have guessed, AppCode focuses on developer productivity
and code quality. Naturally it features tight interoperability with Xcode
and integration with best development tools. AppCode comes with well
thought out and convenient code navigation and code completion, onthe-fly code analysis with quick-fix suggestions and better code refactorings. You can open and create Xcode projects and run your app on an
iOS device or in a simulator.
AppCode shows professional approach when handling your code due
to its expert coding assistance. When completing your code it gives you
more precise suggestions by taking into account the context you are
currently in and the surrounding code. It also helps you avoid unnecessary, mechanical typing by providing a set of Live Templates and a
vast variety of code generation options. Moreover, AppCode can help
you improve your code by suggesting various intention actions which
are also extremely useful when practicing intentional programming and
Test Driven Development (TDD).
AppCode constantly keeps an eye on the quality of your code. No need
to run additional tools: all errors and warnings are shown right in the
editor. And for most of them, the IDE suggests a quick fix.
It is important to be able to easily improve code design as it evolves with
time. AppCode comes with a solid set of reliable code refactorings to
help you with that and to make sure any code transformations are easy,
safe and painless.
Efficient project code navigation is crucial — not only when you research someone else’s code but your own as well, especially as the project
grows bigger. It is essential to have your hands free and to be able to easily navigate from a method to its declaration or any of its usages, through
classes hierarchy or from one file to another, to jump to any file, class, or
symbol in your project in no time, or to see all usages of a symbol in a
dedicated view. Real usages, not text matches.
The above describes just the tip of the iceberg of AppCode’s features as
a code editor. However, as a full-fledged IDE, it surely provides all the
things you need from the environment. Every serious developer understands the importance of an advanced, though easy-to-use, debugger
with a simple interface with Frames, Variables, Watches view, an option
to debug with either GDB or LLDB, and the ability to evaluate any expression or code fragment. The value of tests needs no explanation, it is
essential to be able to run/debug OCUnit tests with ease, and AppCode
allows just that. Not only can you run all tests, but a single test as well.
AppCode provides out-of-the-box integration with the major version
control systems such as Git, Mercurial, Perforce, Subversion and CVS
allowing to perform most of the tasks automatically. Moreover, Local
History helps you to track changes between commits and recovers your
codebase when needed.
At some point you will probably want to extend your application beyond
Objective-C, and you’ll be pleasantly surprised to know that AppCode
is a powerful code editor not only for Objective-C but also for a variety
of other programming languages, such as C++, XML, XPath, JavaScript,
HTML and CSS.
Learn more about AppCode: www.qbssoftware.com/APPCODE
“Excellent, Excellent, Excellent service
I’ll highly recommend your company.”
Robin
We make it happen
Your first choice for technical software
We provide independent, impartial advice and build on over 25 years logistical experience to provide
solutions to meet your requirements.
QBS Software is a renowned supplier of a wide range of software to developers and IT professionals
who appreciate expert advice and a responsive service.
We promise to always go the extra mile and provide a fast, friendly impartial service that earns your
loyalty and trust.
Keys to our success:
Certified with hundreds of software publishers.
Comprehensive product range with over five thousand products.
Help manage the maintenance of software licences and subscriptions.
Software delivered to meet your service level.
Friendly, easily reachable service.
Free pre- and 90 day post-technical advice.
Responsible Account Managers providing a dedicated service.
Whatever you need, we can find.
General IDE look with the new popular UI theme called Darcula.
10
www.qbssoftware.com
“WOW, painless & easy - why aren’t all software
companies like yours? Thank you for your help &
for giving direct phone number of someone to help
if I get stuck.” - Anita
“Thank you very much for looking after us and
I very much look forward to working with you
in the future.” - Graham
“Wow, what can I say - fantastic customer service
and many thanks for helping resolve his issue.”
- Steve
“Wow!! You guys are really good. You always
make it happen!! Thank you guys” - May
See our product selection from page 17
08456 580 580 | [email protected]
11
DeveloperDirect
DeveloperDirect
Keeping Our Show
on the Road
by Skye Quin, Director, QBS Software
Talking about our internal systems
I
’m an old Clipper hack. I got into computing back in the 80’s and
had a spell working in product marketing. I can remember trying
out a mouse pre-Windows on an old but interesting product called
Framework – bit like rubbing your tummy and patting your head
at the same time. My background is a combination of high level programming and technical marketing.
Figure 4. Quickreport.co.uk
QBS publishes this set of Delphi/C++ Builder components. We use the
Quickreport.co.uk website mainly as an information/download site for
the many versions of QR that we continue to support. Most sales go
either through resellers who buy from our distribution arm, QBSD or
via the direct arm QBS Software’s website.
QBS internal systems have evolved over many years pretty firmly based
on the old adage “if it ain’t broke, don’t fix it”. I also quite like “Keep it
simple, stupid” and “Don’t re-invent the wheel”. Today, at the core of
our systems is Microsoft SQL Server. I love it. We have survived working with DBFs, Btrieve and Lotus Notes! MSSQL is a Godsend – I love
writing SQL scripts and if I need help everybody on the planet is using
it. Since 2002 we have been using Microsoft Dynamics Navision (Nav)
as our accounting system and to some extent as an application platform.
We actually took it on just before Microsoft bought it – great minds
think alike.
We use Visual Studio in four areas: to develop and maintain our websites; to develop COM components to augment functionality in Nav;
to create standalone applications some for EDI with our suppliers and
customers; to create reports running in SQL Server reporting services.
Websites: ASP.NET, AJAX, CSS
We currently maintain four websites: QBSSoftware.com, QBSD.co.uk,
Quickreport.co.uk and an intranet for internal use. They are all written in ASP.NET using VB, HTML and CSS. We use Ajax to allow page
changes based on web user input without a page refresh. The back end
is Microsoft SQL Server, accessed mostly through stored procedures.
These contain criterias that can be changed in Nav to control which publishers, products, prices and other content appear on the websites. Most
web content is held in raw HTML in text fields in SQL Server and can be
edited using a COM component in Nav.
QBSSoftware.com
Our main web site contains functionality developed in ASP/VB.NET
to authorise credit card payments and automatically fulfils electronic
orders. The payment processing part
is handled by communicating via XML
with our payment provider Secure
Trading. Once payment has cleared
we fulfil orders by combining software
licence numbers with download
instructions from separate SQL tables
into an email to the online purchaser. In
both cases we have COM components
developed in Visual Studio that run as
Automation Objects in Nav to perform
Figure 1. Adding questions to
the same functions.
Of the various sub-systems that we
12
a seminar in Nav.
Most pages on Quickreport.co.uk are held in the SQL table where we
store our news, events and special offer pages for the QBS Software website. All pages are edited from inside Nav using our COM component.
Most pages on Quickreport.co.uk are generated via a single routine using
a tableadapter shown in figure. 4.
HTML Quotations
Figure 2. QBS Software website homepage
have added, perhaps the most interesting is seminar booking which
has evolved into a questionnaire system as well. In Navision we created
tables and forms to allow seminar details and seminar attendees to be
added. In fig. 2 you can see questions being added where the type of
response is selected from a dropdown. The text added populates the
various labels required by different types of questions.
We recently wrote a COM component that sends quotations as an
HTML email. Written in VB using the Outlook.Application class (see
fig. 5). The .Dislpay function opens the email up in the client Outlook,
allowing additions before sending. It turned out somewhat easier than I
expected when I started. Took a while getting the quotes just right so we
got fed up having to re-install on each client machine and now just shell
out of Navision and run it as an .EXE file passing necessary parameters.
A lot easier to maintain.
Price Feeds and Daily Order Reports
Over the years we have had many requests for various data feeds. This
could be a price feed, a daily order report, shipping information or information on products. Generally these requests come from our larger customers. They may need to be delivered by ftp upload, download,
email or some other method. They may need to be csv, txt or xlsx. And
everybody wants them at different times and frequencies. What’s been
quite demanding is how different people want the information laid out
in different ways.
We got round this complexity in two ways: using a specific stored procedure in SQL for each datafeed to select the data and columns required;
creating an application in Visual Studio that runs as a Windows service.
Every hour our OneFeed program reads through the required datafeed
records in a SQL table maintained in Nav and checks another table,
where completed datafeeds are logged. As a service we added a “testharness” project to the solution in VS to allow testing with the debugger.
I found this onerous so just added a “debugStartup“ form, changed the
project to a Windows Form Application and test it that way. The only
recent addition here was to create a version that despatches a datafeed
on demand from a button press in Nav.
Creating Reports in Visual Studio
A good few years ago we developed a plethora of stored procedures
that created all sorts of reports and emailed them as required or on a
schedule internally or externally. They could be reporting web sales to
a publisher or identifying products that are selling well. These were impossible to maintain: so complex. They have now all been redeveloped
in SQL Reporting Services, making them maintainable, in many ways
more flexible and certainly prettier.
On the web site we generate a form in ASP.NET and allow people to
register online for the seminar. From the question data stored with the
seminar record in the Nav SQL table we can generate the necessary input
controls on the form, i.e. text, radio button, checkbox or dropdown list.
In fig. 3 you can see our code that generates a radio button control. The
radio button list can be vertical or horizontal and the different radio
button labels are stored in a text field delimited by semicolons.
At the core of any report are SQL select statements that grab the data
from the database. I am comfortable writing select statements, therefore
reporting is pretty fast and easy. The abilities to access multiple datasets,
display data graphically in charts and, where necessary, embed code into
reports means we can create sophisticated dashboards with drilldown
into further reports.
Quickreport.co.uk
The Present
Figure 5. HTML email in VB
We currently send order confirmations out as PDF attachments to
emails. But we’ve just been asked to send them out with all the details in
the body of the email as HTML. Haven’t we already done that? Apparently not. We should be able to add the capability to our existing VB app
that sends out quotes. Nice easy one.
Figure 3. VB code to create radio buttons on the web form
www.qbssoftware.com
08456 580 580 | [email protected]
13
DeveloperDirect
One App Fits All
by Clive Howard
I
f you have not already built a mobile app then it is most likely that
you will in 2013. Once you know what your app will do then the first
question is what platforms are you going to support? Perhaps you
will focus solely on iOS and so just use the tools that Apple provides.
However, you may choose to support more than one platform and that
raises a significant issue. Let’s say you choose to have iOS and Android
versions of your application. If you use XCode for one and the Android
SDK for the other then you essentially have two completely separate apps
that may provide the same functionality but double the development
time. Later you may add in a third platform and then you have another
app built on another technology stack. Suddenly the whole exercise can
become time and cost prohibitive. So, is there a more efficient way?
The answer is yes. You may already have come across technologies such
as PhoneGap or Titanium which use a single (usually HTML5/CSS/JavaScript) to create apps that can be deployed to multiple device platforms. This means only one codebase and one technology stack that
you need to learn and manage. But there are some important points to
consider with this approach: this article will help you to address them.
This article focuses on developing for mobile phones however many of
the principles could be applied to general device development including
tablets. However, tablet apps tend to be much more feature rich with
larger code bases and the argument for native development can be more
compelling.
Cross-platform UX
Spend a few minutes comparing an iPhone and a BlackBerry and you
quickly see that the native interface experience is very different. Users
of different devices become familiar with the way in which they interact
with them and the device-specific features available. For example, BlackBerry’s RIM key which opens a menu on screen or Windows Phone’s
unique Panorama. Tools such as PhoneGap and Titanium allow you
to deploy a single codebase on multiple platforms however a single UI
will most likely not provide a good user experience and users may reject
your app. Not only that, but some app stores such as Apple’s may reject
your app because it does not meet their UI guidelines.
Fortunately, there are solutions available. To start, it is best practice to
separate your code and presentation layers as much as possible. This allows you to potentially have different UI for different target platforms
whilst sharing code across them. Your chosen framework, IDE and project structure will impact how easy this is to develop and deploy. IBM
Worklight, for example, includes this capability in its Studio product
whereas if you’re using PhoneGap and a basic HTML editor there is a
bit more work for you to do. If you get it right, though, you can have
multiple device specific UIs but a single scripted codebase.
Once you have decided to provide a different UI for each platform the
next challenge is creating that UI so that it matches the native experience. Recreating Apple’s UI in HTML and CSS is a serious amount of
work. Again there is help available, such as KendoUI which provides
iOS, BlackBerry and Android UI out of the box. Of course if you want
to support Windows Phone then you will need to do some more work
or find another toolkit.
Device Features
When working across platforms it is not just the OS that needs considering but also the physical hardware of different devices. This includes
screen size, resolution and the availability of certain features. Today’s
14
handsets have an almost ubiquitous set of
capabilities such as GPS
and a camera; however,
you may have users with
older models where features
are either not available or they
work differently. An example is
GPS, which all of your target devices
may have but its accuracy and battery usage might be very different.
The manufacturer websites provide
detailed information on each device,
so make sure to check.
Performance
Just as different devices have different hardware capabilities they will
also have differing performance levels. The memory, CPU and data
storage available can vary widely: an iPhone5 is going to perform much
faster than a two year old BlackBerry. Therefore, the user experience can
be very different and you should allow for this. For example, a feature
of your app may run almost immediately on one device but take several
seconds on another and so you should include some form of visual feedback to let the user know that something is happening.
When choosing frameworks and toolkits to work with, performance
should be an important consideration. JQuery Mobile is very smooth
on the latest BlackBerry but on an older Android device it can be sluggish. Of course, it is always possible to target only the very latest devices
but that can reduce your potential user base and in the case of new OS
versions such as BlackBerry’s forthcoming BlackBerry 10, you cannot
simply ignore all current BlackBerry users just to make use of the very
latest OS and hardware.
Devices versus Simulators
To really experience an app you need to experience it on the physical
device. Simulators are great for development but at some point you need
to get your app onto a handset. It is not just the tangible experience of
handling the device and using your fingers to manipulate the interface
which can often throw up usability problems but devices can behave
very differently from simulators. A good example of this is the accelerometer in the Windows Phone 8 simulator. Whilst it is great to have this
feature when developing, you will find that the experience is significantly different when you get the app on an actual device. At the same time
this can be challenging because buying every available handset is expensive but you can look on eBay or Amazon for previously owned versions.
Conclusion
Build once, run everywhere is absolutely achievable in today’s device
world and using technologies such as HTML5 you can build apps from
a single codebase that provide the user experience of native apps. This
allows you to reach a wide user base whilst minimising development
time and costs.
Clive Howard
Clive has over 15 years’ experience in the web industry and is a
founding partner at User Experience consultancy Howard Baines.
He has delivered projects for all of the major mobile and device
platforms including most recently Windows 8.
www.qbssoftware.com
DeveloperDirect
Delivering
Documents
Across Devices
Your File Format Experts
by Simon Bell, Product Specialist, Aspose
W
hat devices do you use? A smart phone and a tablet? A
smart phone, tablet and a laptop? Most of us have more
than one way of getting online and accessing information.
As we become increasingly used to working with a multitude of devices,
we increasingly expect those devices to work together. If I create a document at my desktop computer in the office, I want to be able to edit it on
my tablet on the train home, or even from my smart phone.
Document formats have been getting easier to transport from one platform to another for years, but new devices, and the operating systems
that run on them, is making sharing documents a challenge again.
Finding a Solution
How can you make sure that your employees can work effectively with
different document formats whatever device they’re using?
One solution is to use a bespoke editor, an online tool that lets them
work with documents wherever they have an internet connection. But
why start again? There are already lots of great applications for word
processing, spread sheet management, presentation creation and project
management that your employees know how to use.
Efficient Conversion
Converting documents between formats that are supported on different
platforms is more efficient. That lets your employees start a document
using Microsoft Word on Windows in the office and finish it later on an
Android or Mac tablet, using, for example, LibreOffice.
Let Aspose help. Aspose creates components for developers that encapsulate our file format expertise. Instead of learning the ins and outs of
document formats like Microsoft Word DOCX and Adobe Acrobat PDF,
use Aspose components in your applications to handle any file format
operations. Aspose components provide powerful and easy-to-use file
format creation and manipulation features that save you time and liberate you from Microsoft Office Automation.
Aspose’s components for .NET and Java extend your application’s file
format capability beyond conversion, giving you control over formatting and document creation so that you can automate document creation, report generation, slide decks and much more. With components
specifically aimed at working with OCR, barcodes, emails and imaging,
as well as components for working with Microsoft Word, Excel, PowerPoint, Project and Visio files, Aspose provides a full set of powerful file
format components. As well as creating components for .NET and Java,
Aspose delivers SharePoint components, Reporting Services extensions
and JasperReports rendering extensions.
The Other Side – the Customer Perspective
It’s not just employees that use a variety of devices. Your customers do
too. Delivering documents that look the same and that can be accessed
from whichever device they’re on is important. HTML, XML and PDF
are all output formats that customers can access on most devices.
As well as considering the format, think about the function of the data
or document you’re sharing. A symbol, like a barcode, can be read (that
is scanned) from a phone screen, a tablet, or a piece of paper. Likewise,
they can be read by devices, which is why QR codes are so popular.
Due to this versatility, barcodes are used in all kinds of applications,
from ticketing systems, to document management systems and stock
management systems. As long as a device can display an image at a
good enough resolution, the barcode can be read and the data encoded
in it can be accessed. Aspose.BarCode lets you work with barcodes in
applications and reports.
Delivering documents to a variety of devices continues to present a challenge and it is one that we cannot ignore.
Competition!
We’re giving away a licence for Aspose.Total, featuring all Aspose
products for the platform of your choice.. Register today for a chance
to win Aspose.Total. Register befor Friday 6th May 2013 to be in wit
a chance to win. Good Luck!
www.qbssoftware.com/asposetotal
The winner will be announced shortly after via email.
08456 580 580 | [email protected]
15
DeveloperDirect
DeveloperDirect
Back To The Future
by Huw Collingbourne
W
rite, save, compile, link, crash… Ah, for the
good old days!
I began programming back in the days when Boy George
was a style icon, a portable computer was the size and weight of a suitcase
filled with bricks and the last word in programmer productivity was The
Lattice C compiler.
At the time, Lattice C had just been released for what was then the hottest thing in desktop computers – the IBM PC. I bought my first PC (an
‘IBM-compatible’ Olivetti M24) in 1983. It was a top-of-the range model
with a massive 640K of memory, 360K floppy drive and a 10Mb hard
disk. I decided to teach myself how to program the damn thing and,
having quickly become frustrated by the limitations of the GW-BASIC
interpreter supplied with the PC, I decided I needed to invest in a ‘proper’ programming language. Some programmer friends informed me that
C was where it was at. I persuaded someone to show me Lattice C in
action. This is what I saw:
First you had to start up a ‘line editor’ called Edlin. With Edlin you entered one line of code at a time but you couldn’t do anything fancy such
as page-up and page-down or copy and paste. When you’d written some
code you saved it to disk. Then you compiled it. Then you fixed the errors.
Then you saved your code again. Then you linked it (plenty of time for a
few cups of coffee at this point). Then you fixed some more errors. Then,
if you were lucky, you might be
able run it. Then, in all probability, your program would crash.
Then it’s back to square one. By
this stage, I was starting to think
that programming might not be
for me after all.
And then I discovered Borland’s
Turbo Pascal. It was love at first
sight. Not only was Turbo Pascal cheap – I think I paid about
£35 for a copy, which was about
a tenth the price of its nearest
competitor – but it was also a
lot more than just a compiler:
it had its own full-screen editor
from which programs could be
compiled at the press of a key. If there was a syntax error, the compiler
stopped and highlighted the problem so you could fix it. In 1983, this
was cutting edge stuff!
It was to be another twelve years before Borland produced their next really great Pascal product with the release of Delphi for Windows in 1995.
For its time, Delphi was a fantastic product with a superb integrated environment including a visual designer, editor, compiler and debugger.
Armed with Delphi, the Pascal programmer was once again able to look
down upon those poor benighted souls labouring away with inferior
tools for other languages.
For those of us who had grappled with the horrors of the commandline
coding in the ‘80s, the slick integrated environments provided by Delphi
and Visual Studio in the ‘90s clearly showed the way that all programming would be done in the future. Never again would anyone have to
16
do battle with the pesky commandline. Or so
I thought.
So when I first started learning to program
Ruby, about seven or eight years ago, I was
shocked – nay, gobsmacked! – to discover
that most Ruby programmers not only
run programs from the commandline
but many of them actively discourage
the use of IDEs. They say that
IDEs are ‘bloated’, that they ‘get
in the way’. Visual design tools
and integrated debuggers are
frowned upon. Suffice to say, I
don’t share that view. My love/hate affair
with the commandline ended 30 years ago and
I have no desire to start up a new relationship.
Which brings me to the new love of my life – the Raspberry Pi (for more
info see: http://www.raspberrypi.org). This is an amazing little computer.
The size of a deck of playing cards, it costs around £25 and includes 512Mb
of RAM, USB, HDMI and audio connectors. It is booted into Linux from
a small SD card which you have to buy separately. You will also need
a keyboard, mouse and monitor (or TV screen). It’s a great little thing
for anyone who likes to tinker
at computing or experiment
with robotics. The trouble
is, the development tools
for its default programming
languages, such as Python
and Ruby, have the horrible
feeling of going back to the
‘80s.
Once I’d got my Raspberry Pi
set up, the first thing I wanted
to do was get a proper, modern IDE for it. It didn’t take
me too long to find the perfect thing. It’s called Lazarus
and it is a nifty visual development environment for the
Free Pascal compiler. It may
not have all the bells and whistles of Delphi but it comes pretty close. It
lets me design user interfaces by dragging and dropping controls, then
I just add some code and I’m ready to debug or run my program. The
version of the Object Pascal language supported by Lazarus is closely
compatible with Delphi and, as an added bonus, I can run Lazarus on
Windows or Mac OS X in addition to Linux.
Product Selection
This is a selection of just some of the software we offer to
developers. Please consult our web site for comprehensive
listings. Prices, correct at time of going to press, are subject to
change. Exclusive of VAT. ESD = Electronic Software Delivery
Components
ComponentOne OLAP for Silverlight ComponentOne
£101.73
217402 Subscription + Standard Support v2012 v3 (ESD)
£779.92
ComponentOne OLAP for Winforms ComponentOne
217276 Subscription + Standard Support v2012 v3 (ESD)
£779.92
ComponentOne Studio for Entity Framework ComponentOne
ImagXpress Accusoft
232460 Standard (.NET) - Single Licence v12.x (ESD)
232464 Professional (.NET) - Single Licence v12.x (ESD)
£653.07
£1,306.77
Direct Oracle Access Allround Automations
106184 Standard Licence v4.x (ESD)
£84.91
Aspose.BarCode Aspose
202630 for .NET - 1 Dev Small Bus. Subscription Licence v4.x (ESD) £373.01
Aspose.Cells Aspose
211959 for .NET - 1 Dev Small Bus. Subscription Licence v7.x (ESD) £622.08
Aspose.Email Aspose
216953 for .NET - 1 Dev Small Bus. Subscription Licence v1.x (ESD) £373.01
Aspose.PDF Aspose
222860 for .NET - 1 Dev Small Bus. Subscription Licence v7.x (ESD) £497.54
Aspose.Pdf.Kit Aspose
211962 for Java - 1 Dev Small Bus. Subscription Licence v4.x (ESD) £497.54
Aspose.Slides Aspose
216955 for .NET - 1 Dev Small Bus. Subscription Licence v6.x (ESD) £497.54
Aspose.Tasks Aspose
222793 for .NET -1 Dev Small Bus. Subscription Licence v4.x (ESD) £622.08
Aspose.Total Aspose
211963 for .NET - 1 Dev Small Bus. Subscription Licence (ESD)
£1,556.14
Aspose.Words Aspose
216956 for .NET - 1 Dev Small Bus. Subscription Licence v11.x (ESD) £622.08
Xtreme SuitePro Codejock Software
205753 1 Dev (ActX) + 30 Day Maint Subs v2011 Vol 2 (ESD)
£383.86
Xtreme ToolkitPro Codejock Software
205765 Pro 1 Dev Licence + 30 Day Maint Subs v2011 Vol 2 (ESD)
£383.86
ComponentOne Studio Enterprise ComponentOne
217961 Subscription + Standard Support v2012 v3 (ESD)
£779.92
ComponentOne Ultimate ComponentOne
217965 Subscription + Standard Support v2012 v3 (ESD)
£1,040.76
217390 Subscription + Standard Support v2012 v3 (ESD)
£466.90
ComponentOne Studio for ActiveX ComponentOne
217300 Subscription + Standard Support v2012 v3 (ESD)
£466.90
XAP Optimizer ComponentOne
217414 Single User Licence v2012 v3 (ESD)
DXperience Developer Express Inc
233672 ASP .NET 1 Dev Lic. + 1 Year Subs (No Source) v12.x (ESD)
FastReport .NET Fast Reports Inc
234964 Basic Ed. Single Licence + 1 Year Subs v2013 (ESD)
FastReport .NET Fast Reports Inc
£258.25
£557.00
£63.05
234965 Basic Ed. Team Licence + 1 Year Subs v2013 (ESD)
£190.42
FusionCharts XT InfoSoft Global
192130 Personal Licence v3.x (ESD)
£126.06
MobileAdvantage Infragistics
230521 Subscription + Source Code v2012 Vol 2 (ESD)
£388.25
NetAdvantage ASP.NET Infragistics
230565 Subscription + Source Code v2012 Vol 2 (ESD)
NetAdvantage for .NET Infragistics
230567 Subscription + Source Code v2012 Vol 2 (ESD)
NetAdvantage for SharePoint Infragistics
210821 Subscription Renewal (ESD)
NetAdvantage for Windows Phone Infragistics
230561 Subscription Licence v2012 Vol 2 (ESD)
230562 Subscription Licence + Priority Support v2012 Vol 2 (ESD)
NetAdvantage SilverLight Infragistics
230579 Subscription Licence v2012 Vol 2 (ESD)
NetAdvantage Ultimate Infragistics
230541 Subscription + Source Code v2012 Vol 2 (ESD)
NetAdvantage Windows Forms Infragistics
£558.91
£724.45
£2,786.02
£110.08
£110.08
£558.91
£1,057.24
230577 Subscription + Source Code v2012 Vol 2 (ESD)
£558.91
ComponentOne Studio for Compact Framework ComponentOne
NetAdvantage WPF Infragistics
230563 Subscription Licence v2012 Vol 2 (ESD)
£558.91
ComponentOne Studio for iPhone ComponentOne
Janus WinForms Controls Suite Janus Systems
233662 1 Developer Licence v4.x (ESD)
£574.00
231418 Subscription + Standard Support v2012 v3 (ESD)
217312 Subscription + Standard Support v2012 v3 (ESD)
ComponentOne Studio for Windows Phone ComponentOne
217372 Subscription + Standard Support v2012 v3 (ESD)
ComponentOne Studio for WinForms ComponentOne
217324 Subscription + Standard Support v2012 v3 (ESD)
ComponentOne Studio for WPF ComponentOne
The day I go back to the commandline is the day Boy George becomes a
style icon again. Nope, folks, it ain’t gonna happen!
217378 Subscription + Standard Support v2012 v3 (ESD)
Huw Collingbourne is Director of Technology at SapphireSteel
Software (www.sapphiresteel.com), makers of the ‘Amethyst’ and
‘Sapphire’ IDEs for programming Ruby and ActionScript in Visual
Studio. For over 30 years, he has programmed in languages ranging
from Smalltalk to C#
217348 Subscription + Standard Support v2012 v3 (ESD)
www.qbssoftware.com
ComponentOne IntelliSpell ComponentOne
224026 Single Licence v2012 v3 (ESD)
ComponentOne Studio for Silverlight ComponentOne
ComponentOne Studio for ASP.NET Wijmo ComponentOne
217336 Subscription + Standard Support v2012 v3 (ESD)
ComponentOne Studio for LightSwitch ComponentOne
224014 Subscription + Standard Support v2012 v3 (ESD)
£466.90
£466.90
£49.56
£466.90
£466.90
£466.90
£466.90
£457.51
Raize Components Raize Software Inc
210176 VCL Edition - Single Licence v6.0 (ESD)
£244.06
Resco MobileForms Toolkit Resco
215862 Windows Mobile Ed 1 Licence + 1 Year Subs v2012 (ESD)
£518.88
Resco MobileForms Toolkit Resco
215866 Windows Phone 7 Ed 1 Licence + 1 Year Subs v2012 (ESD)
£389.16
Resco MobileForms Toolkit Resco
215870 iOS Edition 1 Licence + 1 Year Subs v2012 (ESD)
£389.16
Resco MobileForms Toolkit Resco
215874 Android Edition 1 Licence + 1 Year Subs v2012 (ESD)
£389.16
Resco MobileForms Toolkit Resco
215878 Universal Edition 1 Licence + 1 Year Subs v2012 (ESD)
08456 580 580 | [email protected]
£778.34
17
DeveloperDirect
DeveloperDirect
Product
Chart FX Software FX Inc
211047 Test Server Licence v7 (ESD)
Chart FX Extension Pack Software FX Inc
211042 for VS 2010/2008/2005 - Test Server Licence v7 (ESD)
Chart FX for .NET Software FX Inc
211039 Test Server Licence v6.2 (ESD)
£506.71
UltraEdit IDM Computer Solutions
218183 Standard 1 - 24 Users (Each) v18.x (ESD)
£337.62
Document! X Innovasys
203839 1 User v2011 (ESD)
£506.71
Chart FX for COM Software FX Inc
211037 Test Server Licence v6.2 (ESD)
£450.35
Chart FX for Java Software FX Inc
211045 Test Server Licence v7 (ESD)
£563.06
Chart FX Gauges Software FX Inc
211043 Production Server Licence (ESD)
£337.62
Grid FX Software FX Inc
211051 Test/Staggering Server Licence (ESD)
£450.35
Studio FX Subscription Software FX Inc
211034 Premium 1 Year (ESD)
£761.84
TeeChart ActiveX Steema
234227 Pro 1 Developer Licence + 1 Year Subscription v2012 (ESD) £277.14
TeeChart for Java Steema
216121 Pro 1 Developer Licence with Source v2012 (ESD)
£265.31
217536 1 Developer Licence + 1 Year Subscription v2012 (ESD)
£448.50
TeeChart for PHP Steema
234232 1 User Licence with Source + 1 Year Subscription v2012 (ESD) £88.04
£293.02
Intel C++ Studio XE Intel
226368 for Windows - Single Licence + 1 Year Support v2013 (ESD)£1,001.53
226372 for Linux - Single Licence + 1 Year Support v2013 (ESD) £1,001.53
Intel Cluster Studio XE Intel
231265 for Windows - 1 Developer + 1 Year Support v2013 (ESD) £1,847.11
231268 for Linux - Single Developer + 1 Year Support v2013 (ESD) £1,847.11
Intel Parallel Studio XE Intel
226388 for Windows - Single Licence + 1 Year Support v2013 (ESD)£1,439.98
226392 for Linux - Single Licence + 1 Year Support v2013 (ESD) £1,439.98
Intel C++ Composer XE Intel
226340 for Windows - Single Licence + 1 Year Support v2013 (ESD) £437.82
226361 for Windows - 1 Developer + 1 Year Support v2013 (ESD) £750.99
Intel Composer XE Intel
226364 for Linux - Single Developer + 1 Year Support v2013 (ESD)
Intel Fortran Composer XE Intel
226415 for Linux - Single Licence + 1 Year Support v2013 (ESD)
226419 for OS X - Single Licence + 1 Year Support v2013 (ESD)
Intel Math Kernel Library Intel
TeeChart for .NET Steema
£38.93
226381 for Windows - Single Licence + 1 Year Support v11 (ESD)
226382 for Linux- Single Licence + 1 Year Support v11 (ESD)
Intel MPI Library Intel
TeeChart VCL Steema
Intel Threading Building Blocks Intel
226395 for Windows Single Licence + 1 Year Support v4.x (ESD)
£312.55
Intel Visual Fortran Studio XE Intel
226422 for Windows - Single Licence + 1 Year Support v2013 (ESD)£1,189.44
WSyncfusion Essential PDF Syncfusion Inc
216052 Single Licence (Binary) 1 Year Subs v2012 Vol 2 (ESD)
Syncfusion Essential Studio Syncfusion Inc
216056 Business Intell Ed. Binary 1 Year Subs v2012 Vol 4 (ESD)
£562.57
£1,065.43
Intel Inspector XE Intel
226376 for Windows - Single Licence + 1 Year Support v2013 (ESD) £563.09
226379 for Linux - Single Licence + 1 Year Support v2013 (ESD)
£563.09
Intel Integrated Performance Primitives Intel
RadControls for ASP.NET AJAX Telerik
219336 1 Dev. Lic with Subs & Priority Support vQ3 2012 (ESD)
£659.54
RadControls for Silverlight Telerik
219746 1 Dev. Licence with Subs & Priority Support vQ2 2012 (ESD) £659.54
RadControls for WinForms Telerik
219750 1 Dev Licence with Subs & Priority Support vQ3 2012 (ESD) £659.54
RadControls for WPF Telerik
Xceed Ultimate Suite Xceed Software
234487 1 Developer + 1 Year Subscription v2013 v1 (ESD)
£781.59
234490 1 Developer + 1 Year Blueprint Subscription v2013 v1 (ESD)£1,107.26
CodeRush Developer Express Inc
232503 1 Developer Licence + 1 Year Subscription v12.x (ESD)
£155.00
PC-Lint Gimpel Software
162050 Single Workstation v9 (CD/DVD)
£241.29
18
£639.76
ReportBuilder Unify (Gupta)
216689 Windows Single User v6.1 (ESD)
AutomatedQA TestComplete SmartBear Software
221776 Standard 1 Node-Locked Licence + 1 Year Maint v9 (ESD)
ED for Windows Soft As It Gets
109431 1-4 User Licence (Per Licence) v4.x (ESD)
Systran Systran sa
204660 Home Translator - Euro Pack v7 (ESD)
£97.02
£87.52
Team Developer Unify (Gupta)
£65.49
Unify Q Unify (Gupta)
181903 Windows Single User v1.0 (ESD)
£289.10
Automise VSoft Technologies Pty
206835 Pro Named User Lic + 1 Yr Software Assurance v4 (ESD)
£149.71
IDEs
PL/SQL Developer Allround Automations
208640 1 User v9.x (ESD)
£2,053.10
£142.20
216694 Win32 Single Developer v6.1 (ESD)
£2,445.10
CodeCharge Studio YesSoftware
218956 Personal Ed Non-perpetual Lic (per user, per year) v5.0 (ESD) £85.87
226351 Starter New User vXE3 (ESD)
£132.30
226457 Starter Named User vXE3 (ESD)
226459 Professional Named User vXE3 (ESD)
£132.30
£665.23
RAD Studio Embarcadero
226530 Professional Named User vXE3 (ESD)
£930.77
RadPHP Embarcadero
208297 Named User vXE2 (ESD)
£199.38
AppCode JetBrains
Zend Guard Zend Technologies
143382 Single Annual Licence + 1 Year Maintenance v5.x (ESD)
£501.24
Zend Server Zend Technologies
204144 1 Year Silver Support Subs cription (Windows) v5.x (ESD)
£998.29
Zend Studio Zend Technologies
212017 Pro / for Eclipse Licence + 1 Year Maintenance v9.x (ESD)
£249.77
XML Tools
Altova UModel Altova
228091 Basic Installed Users (1) v2013 (ESD)
£100.28
Altova XMLSpy Altova
228154 Professional installed Users (1) + 1 Yr SMP v 2013 (ESD)
£395.54
Altova MissionKit Altova
227965 Professional Installed Users (1) v2013 (ESD)
£547.22
233983 Personal Single User Lic + 1 Year Upgrade Subs v2.x (ESD) £69.13
233984 Commercial Single User Lic + 1 Year Upgrade Subs v2.x (ESD)£139.38
Stylus Studio XML DataDirect Technologies
212369 Pro - 1 User Licence vX14 (ESD)
£297.86
Liquid XML Studio Liquid Technologies
237999 Personal Single User Licence v2 (ESD)
238000 Commercial Single User Licence v2 (ESD)
IntelliJ IDEA JetBrains
233973 Personal Single User Licence v12.x (ESD)
233632 Commercial Single User Licence v12.x (ESD)
£69.13
£139.38
£139.38
£350.11
PyCharm JetBrains
237503 Developer Edition 1-4 Installed User Lics (Each) v2013 (ESD) £495.00
Intel VTune Amplifier XE Intel
226334 for Windows + 1 Year Support v2013 (ESD)
226337 for Linux + 1 Year Support v2013 (ESD)
£563.09
£563.09
TeamCity JetBrains
223253 Professional 1-4 Licences (Each) v14.x (ESD)
dotCover JetBrains
233996 Ent. Server 1 User Lic + 1 Year Upgrade Subs v7.x (ESD) £1,401.72
233997 Build Agent 1 User Lic + 1 Year Upgrade Subs1 v7.x (ESD) £209.62
WebStorm JetBrains
237226 Personal 1 User Licence + 1 Year Upgrade Subs v6 (ESD)
£34.57
237227 Commercial 1 User Licence + 1 Year Upgrade Subs v6 (ESD) £69.13
233967 Performance Profiler Pro Personal 1 User Licence v5.x (ESD) £209.62
233970 Memory Profiler Personal Single User Licence v3.5 (ESD) £103.70
MSDN Subscriptions Microsoft
PhpStorm JetBrains
Visual Studio 2012 Microsoft
237611 Personal 1 User Licence + 1 Year Upgrade Subs v6 (ESD)
£69.13
237612 Commercial 1 User Licence + 1 Year Upgrade Subs v6 (ESD) £139.38
ReSharper JetBrains
233987 for VB.NET Personal Single User Licence v7.x (ESD)
233988 for C# Personal Single User Licence v7.x (ESD) 233990 Full Edition Personal Single User Licence v7.x (ESD)
Code Tools
NXJ Developer Unify (Gupta)
158803 Professional Single User WIN v12.1 (ESD)
192244 1 Named User Licence + 1 Year Maint v7.x (ESD)
£499.00
234726 Personal Single User Lic + 1 Year Upgrade Subs v5.x (ESD) £69.13
234727 Commercial Single User Lic + 1 Year Upgrade Subs v5.x (ESD)£139.38
dotTRACE JetBrains
£522.58
£383.60
AutomatedQA AQTime Pro SmartBear Software
RubyMine JetBrains
Telerik Reporting Telerik
229885 Studio Bundle v2013 (ESD)
PowerBuilder Sybase
104985 Powerbuilder Ent 6 Upg (while stocks last) v6 (CD/DVD)
£124.64
£124.64
233979 Personal 1 User Licence + 1 Year Upgrade Subs v2.x (ESD)
£69.13
233980 Commercial 1 User Licence + 1 Year Upgrade Subs v2.x (ESD)£139.38
Infopower and 1stClass Bundles Woll2Woll Software
£214.16
194132 for Windows - Single Licence + 1 Year Support v7.x (ESD)
194134 for Linux - Single Licence + 1 Year Support v7.x (ESD)
219754 1 Dev Licence with Subs & Priority Support vQ3 2012 (ESD) £659.54
219761 1 Dev Licence with Subs & Priority Support vQ3 2012 (ESD) £395.45
PrimalScript Sapien Technologies
218855 Single Licence v2012 (ESD)
Delphi Embarcadero
£312.55
£312.55
£58.50
£150.00
£625.73
£531.77
£312.55
£312.55
Red Hat JBoss Enterprise Red Hat
222446 Application Platform 16 Core Standard Subs 1 Year (ESD) £3,793.00
222458 Web Server 16 Core Standard Subscription 1 Year (ESD) £1,034.00
107473 Standard v2.X Licence (ESD)
C++ Builder Embarcadero
195250 for Windows 1 Seat Dev Kit +1Year Support v4.x (ESD)
195252 for Linux Single Seat Dev Kit +1Year Support v4.x (ESD)
234141 Standard 1 Developer Licence + 1 Year Subs v2012 (ESD)
Delux QBS Publishing
£907.58
TeeChart Mobile Steema
204353 Java for Android 1 User Licence + 1 Year Subs v2012 (ESD) £153.05
Selection
mobileME Multi Edit Software Inc
167079 Single User Licence v2008 (USB)
Multi-Edit Multi Edit Software Inc
191918 1 - 49 Users (Per User) v2008 (ESD)
www.qbssoftware.com
£103.70
£103.70
£139.38
232959 Operating Systems Subscription - 1 Year v2012 (CD/DVD)
226566 Professional Edition Licence v2012 (CD/DVD)
Visual Studio 2012 Microsoft
Premium Edition Licence v2012
Visual Studio 2012 Microsoft
Ultimate Edition Licence v2012
£701.24
£501.10
Available under licence agreement
Available under licence agreement
AutoMate BPA Server Network Automation
£111.73
212803 Std Ed Development Tools + 1 Year Maint & Supp v9 (ESD) £1,182.42
PhpED NuSphere Corporation
£83.69
228207 Standard for Windows - Single Developer Licence v8.x (ESD) £75.53
oXygen XML Developer SyncRO Soft
£218.24
Installation and Deployment
AdminStudio
Flexera
214683 Standard + Silver Maint Plan v11.x (ESD)
AdminStudio
Flexera
214689 Professional + Silver Maint Plan v11.x (ESD)
InstallAnywhere Flexera
231662 Standard Ed Single Licence + Silver Maint v2012 (ESD)
InstallShield
Flexera
220439 Express + 1 Year Silver Maint v2012 Spr. (ESD)
InstallShield
Flexera
220444 Professional + 1 Year Silver Maint v2012 Spr. (ESD)
Smart Packager Professional Scalable Software
234430 Single User Licence + 1 Year Maint (ESD)
Smart Packager Professional Scalable Software
234438 3 Pack Bundle + 1 Year Maint (ESD)
08456 580 580 | [email protected]
£2,192.85
£4,886.64
£1,253.65
£544.02
£1,832.23
£1,138.72
£3,245.41 19
Intel Cluster Studio XE 2013 combines proven cluster and performance profiling
tools with advanced threading and memory correctness anaylsis to boost HPC
application performance and reliability.
Industry leading Intel MPI Library:
New levels of performance, scalability
and flexibility for cluster applications
on Intel platforms.
Intel C. C++ and Fortran compilers:
Built-in optimisation technologies
and multi-threading support.
Intel VTune Amplifer XE and
Intel Inspector XE:
Efficient thread and memory analysis.
Intel Clik Plus and Threading Building Blocks:
Support open, standard parallel programming
models.
www.qbssoftware.com/clusterstudio
©2013, Intel Corporation. All rights reserved. Intel, the Intel logo, Cilk Plus, and VTune are trademarks of Intel Corporation
in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others.