”Localizing 2 major applications with 2,000 strings each in 27 languages almost broke our neck. And then Codebox came along and replaced that with an elegant browser interface, just reducing the overall effort by 60%. What can I say... fantastic!“
Power Tools, Sales and Marketing
Robert Bosch, Stuttgart (Germany)
”We were skeptical at first when charging a commercial third party vendor to build an exceptional research platform for neuroscience. But since the first prototype, we cheered and never looked back.“
Vice President of Research
Baycrest Hospital, University of Toronto (Canada)
”Upgrading our Saperion-based transaction and archival system with approx. 100,000 new objects daily was challenging enough. But switching to a new, simpler architecture at the same time, without any hiccups... Kudos, Codebox!“
Postbeamten-Krankenkasse, Stuttgart (Germany)
”Codebox built a remarkably resilient and scalable platform for our innovative customer satisfaction system, easily handling an avalanche of feedbacks every day. Building on that success, we look forward to do more projects together.“
Rhein-Main Public Transport, Frankfurt (Germany)
Codebox has a strong background in science, not only by its roots and the education of its key employees but on the project side as well:
For many years, Codebox has been actively performing research and development in the field of biologically-inspired computation. Humans and other organisms exhibit complex social behavior, controlled by brain systems which have nothing to do with von-Neumann-architectures – nevertheless all computers we use in daily life are based on exactly this architecture.
That's why Codebox is a sponsor of promising initiatives in leading research centers worldwide, collaborating on mutual research and development projects, and also performing in-house technology development.
Even a small breakthrough with one of the known non-von-Neumann architectures would spark a revolution in information and communication technology, transforming society and human culture. It would be a pivot point in the same league as the spreading of sheer computing technology in the 70s or global broadband networking in the 90s.
Codebox is offering true partnerships for such novel adaptive, learning, cognitive and bio-inspired technologies, once the research is done and innovative software implementation is called for.
Clinical therapy for brain diseases will be transformed once The Virtual Brain has been fully developed and deployed: It reduces the complexity of brain simulation greatly and effectively while still keeping it sufficiently realistic by employing novel concepts from cutting-edge neuroscience.
The Virtual Brain is designed to explore to what degree manipulations of brain connectivity can be exploited for clinical purposes in epilepsy and stroke. It can be completely customized to an individual patient's brain.
The Virtual Brain is the first extensible framework offering practical simulations of human brain networks thanks to four unique features:
More information and a free download of the software is available on http://www.thevirtualbrain.org
Swinging a golf club is a great way to pinpoint the boundaries of our whole computing architecture: A von-Neumann-machine can't really represent the true nature of that mighty swing except for an artifically digitized series of discrete states. The real, continuous process of the swing, albeit obeying well-known laws is simply foreign to digital computers. The same is true for traffic flow, interactions between people or the process of thought, just to name a few.
Computations based on von-Neumann-architectures operate upon series of input states and generate an output state. Continuous processes have to be mapped to finite states to become computable, burdened by an increasing performance hit when enhancing time resolution.
Codebox' objective is to identify a novel computational architecture, based upon processes rather than states and inspired by neuronal systems. A computation within this architecture is identified by the execution of a process. This is in stark contrast to other proposed neuro-computational architectures which – although also inspired by neuroscience – still operate upon states.
The generalization of this processual approach, a.k.a. structured flows on manifolds, will provide a mighty tool to solve general classes of these tasks. If successful, it has to potential to spawn an entirely new area of research and technology for IT.
Behavior in social groups and organisms looks very complex. But it evolves in a surprisingly low-dimensional and coherent form when being analyzed, thus suggesting simple and generic underlying principles.
Codebox proposes that social dynamics follow similar principles as laid out in its other research project, structured flows on manifolds. Based on this hypothesis, Codebox develops techniques to measure behaviors of groups, quantifiy and visualize them. These methods and their technological implementation are applicable to behavioral, physiological and social data as well.
Codebox can present results from a dual electroencephalography (EEG) study, in which two-member teams performed a simulated combat scenario. The aim was to distinguish expert from novice teams just by their members' brain dynamics.
The findings suggest that increases in dimensionality in the team's joint brain dynamics is a signature of increased task demand – both objective (e.g. task difficulty) and subjective (e.g. lack of experience in performing the task).
Another finding was the identification of a subspace of joint brain dynamics related to team coordination. This was done by introducing surrogate team data (without coordination) as a baseline for joint brain dynamics. Results showed that team coordination affects the subspace (where joint brain dynamics of the team members are evolving) itself but not its dimensionality.
Overall results confirm the possibility to identify signatures of team coordination from the team members' brain dynamics.
The related publication “Brain Signatures of Team Performance“, Dodel et al 2011 (Foundations of Augmented Cognition. Directing the Future of Adaptive Systems Lecture Notes in Computer Science) is available on various publication platforms (Springer Link).
Since the term "Software architecture" has been coined more than 20 years ago, it became a fashion item to have in the project. In recent years, everybody who could barely operate a flip chart was deemed to be a fabled software architect, diminishing the true and crucial role of architectural decisions about a software system.
The quality of software architecture is essential only for organizations who value the success of their software product across non-functional criteria: Reliability, performance, security and maintainability.
It's easy to see that nowadays, it is vital for almost any software system.
Getting it right or wrong – or having no clearly defined architecture at all, sets the stage for everything to come: The system's development, integration, testing, and modification. This stage may turn out hosting a romantic comedy, a gripping drama or a 3rd-rate, free-for-all acting school.
Checking and fixing an architecture early in the development cycle is relatively inexpensive. Fixing it later can be prohibitively expensive or even impossible. Lots of high-profile software projects suffer and ultimately fail because of this, no matter whether they were driven by classic waterfall or agile processes.
When establishing or optimizing architecture for a single product or a complete product line, Codebox software architects work directly with development staff. This process can cover any number of architecture-related activities.
Codebox architects can participate in the development of a product architecture as well as train client staff in architecture-centric development and matching processes.
This flexibility helps Codebox' clients becoming proficient in all aspects of architecture-centric design for products or product lines.
In the beginning, there are various options for a system architecture, testament of a typical mass of technical and business requirements – some seemingly of implicit nature, some brought forward and advocated by product stakeholders.
A careful analysis of these requirements can find the key drivers within them, enabling the architects to come up with approaches ensuring success for the resulting software product.
Skipping this analysis can lead to architectures which look strikingly elegant but eschew critical system properties. Or which try to be all-things-to-all-people, thus resulting in an overly complex hairball.
Once the driving architectural requirements have been established, fitting architectures can be developed accordingly. A coordination strategy can be set up to help develop suitable alternative architectures for the product or a product line.
Codebox architects can also help client staff in retrofitting product line architectures when individual products seem to develop an unexpected life of their own.
A decision between different alternatives for architectures can be a hard one as they are not immediately open to quantified analysis.
Therefore, Codebox architects work with the client staff to determine when and what methods of architecture evaluation are appropriate – and apply their results to come up with improvements and credible decisions.
An architecture can be defined in varying breadth and depth. That's where the application developers should have their say.
The goal should be to establish just the right amount of system-design decisions within the architecture: Too few and the developers will overspend valuable time pondering high-level options. Too many and the developers will be too constrained when trying to overcome practical challenges.
As long as the software product hasn't been completely built, the architecture is one major tool to allow all stakeholders to discuss the system's properties.
To enable those discussion, the architecture has to be documented in appropriate detail and in a form which allows developers and other stakeholders to access it easily. Determining which architectural views, which amount of detail and what form of presentation supports this goal best, is a joint effort of client staff and Codebox architects.
Software architecture is a set of fundamental decisions about a product/solution, crafted to meet the project's requirements. As these decisions are the earliest made, they're the hardest to change later-on and the most critical to get right.
The architecture covers a software's main components, its vital attributes, interactions and behavior – all set up to meet the desired quality levels.
Usually, an architecture is expressed in several abstraction levels, depending on a project's size. If the architecture is intentional (rather than accidental) it should be communicated from multiple viewpoints to address the needs and interests of various stakeholders within the project.
The beauty of a well-planned architecture is that it not only serves as a blueprint for the product but also for the whole development project. Many organization and processual clues can be taken from the architecture to set up…
The actual planning is only one part of a software architect's vital activities which also include:
Over the course of many projects big and small, Codebox gained lots of positive experiences when its clients felt as being a valuable part of the actual developer team, enabled by agile development processes.
Codebox has established an agile paradigm for all of their projects, using its own blend of Scrum and eXtreme Programming. This enables quick project set-ups, early results and beneficial, regular cross-checks of development direction with clients. And it's a lot easier to discuss feature-sets and interactions on a live version of the software rather than just descriptions and drawings.
Agile development, however, has its own set of challenges:
Having successfully mastered these challenges in many projects, Codebox does also offer special consulting services on architecture and development with agile methods and structures.
To get a robust footing, Codebox conducts an initial consultancy phase for a new project to identify to the guiding parameters:
Now that Codebox knows quite a bit about the size, target, environment and load of the project, they decide about which foundation to use as it's not always the most efficient to start with a blank sheet. The Codebox team is proficient in integrating all major open source platforms and products with its own libraries and newly created code.
From this point onward, Codebox enters the "normal" Scrum mode, with its time-boxing and "release early, release often" paradigm. The client is included whenever possible into sprint reviews, usually taking place in audio and video conferences.
This is not only a great way to build confidence but also helps boosting the team's efficiency through continously growing understanding of the client's concerns. The higher investment from the client's side in these regular meetings usually pays off very well.
Strong, long-term partnership ties with other companies, specializing in different but IT-related fields have a long tradition at Codebox. This helps us staying nimble, lean and quite flexible when projects call for expertise not being a core part of Codebox' business.
Realizing the financial and educational advantages of near-shoring software development to Romania early-on, Codebox founded Codemart in 2004, building from a few hand-picked and well-practised Romanian specialists, and extending it into a a full-fledged developer team over the course of years.
Codemart is a majoritarian Codebox-owned affiliated company and has been successfully creating code for almost all of Codebox' projects since 2005. Today, Codemart conceptualizes and writes the actual code for all major Codebox projects, lead by a skilled and growing team of specialized Romanian software architects.
Within the highly contested region of Southern Europe, Codemart takes a leading position in acquiring promising talents straight from university, ultimately benefitting Codebox' clients by providing the very latest skills in computer science and various industries.
two tribes has been a Codebox partner since the very beginning, creating and maintaining its changing corporate identity and quickly evolving into user experience design for many Codebox projects.
For years, two tribes has been regularly hired to create and implement compelling, cutting-edge user interfaces on various platforms from fat Java applications to platform-agnostic web clients.
two tribes specializes in creating appropriate user experiences from complex requirements, demanding intimate knowledge of a client's industry or scientific field. This includes designing associated project/product marketing as well as tight collaboration with a developer team, writing sustainable and robust front-end code.
From working with clients and partners in the science and research world, Codebox established close connections with many talented and leading scientists all over the world, working in very different fields.
For special projects, Codebox manages to set up the necessary paperwork with the research institutes of these scientists to have them temporarily becoming part of an international team, tackling really challenging tasks.
Codebox is proud to work with all of their clients multiple times over the course of years. Usually, projects turn out so well that follow-up projects are strengthening long-lasting relationships to mutual benefits.
Some of the most remarkable clients Codebox works with are presented in a brief excerpt below. Please don't hesitate to contact us if you would like to know more about particular clients and projects.