As you may have noticed, our site have changed. Immediately noticeable is an update of visual design, but also we’ve changed the heart of the site — the CMS it runs on, — from Joomla to WordPress. Continue reading
Requirement analysis
Before you build a complex system — it is best to ensure the task is understood well. It is better than having to redo it later. For this we use a number of techniques, from early prototyping to detailed specifications with screen designs and algorithm descriptions.
EnginSoft Link Application
One of the projects we completed with TechWire UK is a Link application for EnginSoft UK.
The application serves as an integration point and controlling GUI between EnginSoft’s ModeFrontier, and Innovyze InfoWorks CS. The advantages of using this Link application are described on the EnginSoft’s site, while we can describe below how it was implemented. Continue reading
Expertise
The following coding languages, operating systems and development tools are those in which TechWire has experience and is confident in working with.
Mobile Development
We use PhoneGap (with HTML5 and jQuery Mobile, though there are many options that we can use to suit the task best).
Note that using PhoneGap provides us — and you, as our customer, with a unique opportunity to develop robust mobile applications that span several popular mobile platforms. This framework allows development in HTML5 (HTML / CSS / JavaScript), while providing access to mobile devices’ native functions — e.g. GPS, Compass, Camera access, etc. Such approach results in single code-base across several platforms — saving a lot on development and maintenance time and cost.
The most popular platforms: iOS, Android, Windows Phone 7, are supported, as well as many others. Of course, we test on all the required mobile platforms to make sure all the nuances are ironed out.
Web Development
HTML, JavaScript (including JQuery, JQuery UI), CSS.
Web-application development is our main experience. With backend implemented using MS SQL / Oracle and ASP.NET, the front-end work involved creating a lot of interactivity on the applications’ pages.
This includes grids, graphical charts, interactive dashboards, handling geographical maps, many kinds of reports and data-entry forms. It is amazing what can be achieved with web-technologies today, and we are glad to be part of this progress.
Summary
Here’s a brief overall view of what we use:
- Web: HTML, CSS, JavaScript, AJAX.
- Mobile: PhoneGap (HTML5), jQuery Mobile, native code plugins.
- Database: Oracle, MS SQL Server, MySQL, Access;
- Languages: C#, Visual C/C++, Java, Visual Basic, Perl, ASP, PHP;
- Microsoft .NET Framework (including good practical knowledge of ASP.NET);
- Content Management Systems, such as Drupal, WordPress, Joomla, as well as lower-level frameworks such as ASP.NET MVC, PHP CodeIgniter etc;
- Miscellaneous Technologies: XML, XSLT, COM+, ActiveX, SOAP, REST.
An experience with Joomla vulnerability
Below is a story of one of the sites that we support being hacked, and the lessons we learnt from the experience. I hope you will be able to learn from our experience, and make the right decisions to prevent such accidents from happening to your sites.
Engineering a web-site, step 3: Goals, users, structure
Continuing a description of the Information Architecture (IA) process, in this third article of “Engineering a web-site” series (dedicated to the design and development of site for the Baptist Union of the Dnepropetrovsk region using Drupal CMS), I describe the final goals for the site, the audience, how that was broken down to specific tasks, and how it was translated into the final site structure.
Engineering a web-site, step 2: Interviewing the key users
This is the next step in working through an informational architecture process for the Union of Evangelical Christian Baptist churches in Dnepropetrovsk region: interviewing the key decision makers, potential site editors and users.
Engineering a web-site, step 1: Study of the peers
We’ve recently launched a site developed in Drupal CMS for the Union of Evangelical Christian Baptist churches in the Dnepropetrovsk region. Later I’ll also post a summary of the technologies used in the site’s creation, yet before that I would like to share, in a series of articles, how I approached the design and planning in this project. The first article, “step 1”, is dedicated to studying other similar sites, for information, ideas and warnings.
Using Google services (Wave, Docs) in daily QA process
There are many organizational difficulties facing small to medium Software Quality Assurance (QA) teams. Because of this, we welcome any help to simplify this work and make assignment, communication and reporting more reliable. Tools are not the silver bullet, yet with a responsible team the right tools can make a lot of difference. Read on to see how we started using Google’s toolkit (namely, Google Wave and Google Docs) in our daily QA and general development practices, as described by Dmitriy Boltovskiy, our QA team lead.
Accessing unmanaged code in separate context in WPF
In order for Windows Forms controls to work correctly in .NET Framework it is necessary to access their methods and properties from the same context that they were created in, otherwise they may display unpredictable behaviour. Usually this is a concern when using multiple threads, some of which need to modify a control’s state. All of this is also relevant for Windows Presentation Foundation (WPF) technology. However, in WPF such an issue may also arise when using a DLL with unmanaged code — this does not occur in WinForms. We’ll show an example how one can solve this issue by calling methods from the DLL in a separate context.