The Best Part About #CTIA13
Great conversations, insightful panels and keynotes, rows of innovative mobile brands… and J.Lo.
That’s pretty much what CTIA’s 2013 show entailed this week in Las Vegas. Here’s a look at a few things we loved about CTIA 2013:
- Sessions: It was easy to love the sessions this year. Day 1 started off with the “Apps Summit” featuring the latest trends in mobile and a lot of talk around development and design. All the sessions were great, especially “Making Commerce Mobile: Strategy and Trends of Mobile Commerce” led by Sharon Wienbar, member of the uTest board and partner at Scale Venture Partners. The panel was also led by Jake Ward, co-founder and executive director at Application Developer Alliance, and others. The session looked at the latest trends in mobile technology, as well as the challenges brought on by device fragmentation and the ever changing mobile landscape. Another favorite was on day two, and was led by Michael Facemire, Forrester Analyst. The session titled “Technology Solutions for Today’s Mobile App Development Challenges” addressed the variety in mobile technology, time-to-market demands, UX requirements and how to overcome all of these challenges.
- E-Tech Awards: A big highlight of CTIA was the 2013 E-Tech Awards. Attendees voted and an online panel of highly-respected industry experts, reporters and analysts ultimately judged the submissions on “innovation, functionality, technological importance, implementation and overall ‘wow’ factor,” according to the CTIA blog. We’re thrilled that uTest’s Labs’ app analytics tool, Applause, took home 3rd place in the Enterprise Solution – General Business category. Congratulations to Ericsson’s Connected Vehicle Cloud and GPS Dashboard LLC’s “Check in” App for Salesforce.com, which took first and second place – and to all the nominees!
- Cool Brands: The Sands Expo Center was packed this week, with never-ending rows of new and upcoming mobile apps, development tools and countless other types of brands in the mobile space. We had a great time chatting with folks near our booth in the Mobile Apps Pavilion such as Kodak Developer, CallSnap and Speakerfy, as well as all the hundreds of attendees who stopped by our booth to talk about the importance of in-the-wild testing.
So what was the absolute best part about CTIA 2013?
Maybe you won big on the black jack table, or took a gondola ride through the Venetian – but for us it was the continued power of mobile. Every developer, QA Manager, or business exec we talked to, and every keynote or session we sat in on, was further validation of how mobile continues to be the driving force behind brands of all industries and sizes. Businesses know that their app is their brand and source of revenue – and they also know just how important app quality is. We love that.
So there you have it. A big thanks to CTIA for putting on a great show. See you next time, Las Vegas!
Recap: RailsConf Appium Lightning Talk
A few weeks ago, on his jaunt around the US, Dylan gave a nice lightning talk on Appium at RailsConf in Portland. It was awesome, and he did a jig onstage! Check out the slides for a quick and dirty look into Appium.
Testing Native iOS Apps with Appium from Sauce Labs
A Second Look at Unit Testing
What is Failure Demand in Software Development
The idea of “Failure Demand” comes from systems thinker, John Seddon, who describes it as “unnecessary burden on the system.” By looking at removing failure demand on a system, you free up more capacity to focus on value added work. Much of failure demand also maps to the lead concept of “waste” although not all “waste” is the same as failure demand.
Some classic examples (and tell-tale signs) I see with companies include:
- Poor quality work – Features that are not tested, or well designed end up generating bugs. A smell to look for is lots of issues reported by end users. Lots of errors in production logs are also another great smell for detecting this.
- Features designed without thinking about User Experience – Without putting the end user of a system in mind, many organisations build functionality without exploring how/why an end user of their system will end up using it. Working with an effective user experience capability means simpler, clearer interfaces that help end users get the job done. Smells to look out for include interfaces that have too many additions or features added to it.
- Requirements solely driven by a Product Manager – Many organisations rely solely on the HiPPO (the Highest Paid Person’s Opinion) to drive requirements. Although a Product Manager role is still useful for other reasons, faster experimentation and data collection of testing hypothesis is of use. Look out for smells like long release cycles, date driven requirements, or large backlog requests of detailed “user requirements” specified by the Product Manager without real involvement or feedback from end users.
- Misunderstandings – As a software organisation grows, the communication channels significantly increase. When people do not validate their understandings with each other, they end up doing more rework than necessary. Depending on how complex the problem space is, using visual models, workshops that explore a certain approach and simply showing progress constantly (daily or weekly basis) help to resolve this.
What other examples of failure demand do you see? Please leave a comment.
Making google analytics work with requirejs
We were trying to template google analytics and make it part of our requirejs setup. When we did what we thought was obvious to wrap it in a module and declare a dependency on it, it seemed to fail quite miserably.
The trick was that we missed that you needed to export a global variable. This means in the javascript file initialising google analytics we had to add the following code block
var registerGoogleAnalytics = function(accountId) {
var _gaq = _gaq || [];
if (window) {
window._gaq = _gaq; // export as global
}
_gaq.push(['_setAccount', accountId]);
_gaq.push(['_trackPageview']);
// rest of google analytics initialiser script...
}
Some links that helped us working this out:
Jenkins User Conference Israel - Coming June 6
Your favorite Butler will visit Israel on June 6 for the Jenkins User Conference Israel. More than 200 people have already registered to hobnob with other Jenkins users and eat like kings.
The agenda is up here. You’ll find a great list of speakers from Israel, Europe and the US to compliment a plethora of treats. There will be an ice cream break, fruits break, beer break and special chef lunch. And everyone gets a limited-edition JUC Israel t-shirt, designed by the t-shirt-design gurus at JFrog.
Featured speakers:
Kohsuke Kawaguchi, the creator of Jenkins (formerly, Hudson) and elite architect at CloudBees, will deliver a keynote about the current state and the future roadmap of Jenkins.
Hans Dockter, the creator of Gradle and the founder of Gradleware will speak about next generation build tool to CI server integration.
Fred Simon, JFrog's co-founder and Chef architect will share JFrog's vision of the future of continous integration in the cloud.
Many thanks to lead sponsors JFrog and CloudBees, who have put a lot of time and energy into organizing the conference. Thanks also to sponsors Cloudify and White Source for showing their support for Jenkins!
Can't make it to Israel? Here are more Jenkins events:
- Moving to Continuous Delivery in the Enterprise – June 10, London
- Jenkins Meetup – June 15, Munich
- Jenkins User Event – September 6, Copenhagen
- Jenkins User Conference – October 23, Palo Alto, CA
So you need to start caring about Security and Privacy
Every company has a moment where they are forced to care, I mean, really care about Security and Privacy. Sure, you should always care in the back of your mind, but at some point it comes front and center and a key pillar of everything you do. The question is whether you are going to be ready for when it comes. Odds are, no. (Because if you were, you would already be caring.) I’ve seen this moment happen a couple times, so here is my list of things you now need to pay a whole lot of attention to.
First, Security and Privacy are related, but different. In hand-wavy terms; Security is related to keeping information in and the bad guys out, and Privacy is about individual people’s information in your trust. And it is a trust, not a right.
With that, here is my brain dump on the topics.
Security
- Who is the officially designated person for security problems?
- Physical security – padlocks on the cage, etc.
- Can people wander the office without being questioned?
- Is all input validated on the backend as well as the frontend
- Disarm all input
- Disarm all output
- Don’t blindly use user provided strings in queries
- PCI compliance?
- Don’t store your password in the clear…
- The first question about any change should be ‘what are the security ramifications’?
- Do security bugs get put into the main bug database?
- How are security things disclosed
Privacy
- Who is the officially designated person for security problems?
- Do you know what PII (Personally Identifiable Information) you have
- Do you know what flows the PII participate in?
- People need to be bucketed based upon their informational needs
- Don’t clone your production database down into lower environments — without scrubbing the PII
- Do not display PII to anyone other than the owner of it. (Unless they really need it.)
- PII should be encrypted in the database
- Thou shalt not grant access to the production database
- Log the stink out of access, including read, of things that contain PII
- The second question about any change should be ‘what are the privacy ramifications’?
- Do privacy bugs get put into the main bug database?
- How are privacy things disclosed
- What legislation around PII affect you? And in what jurisdiction? Is it where the head office is? Where the app is hosted? Neither?
Writing secure code is actually not that hard. We know how to do this. At this point it is really just sloppy code. But putting the people and process around how the code that is generated is hard.
This is just a quick off-the-top-of-my-head list, but the key thing to remember is that its not paranoia if they are actually after you. And ‘they’ are.
Production Monitoring: See the Webinar You Missed
I just finished up a webinar entitled Production Monitoring: The Key Steps Towards Continuous Delivery, presented with Airbrake.io The webinar focused on how Production Monitoring is the most important process in any application, but particularly online applications when practicing Continuous Delivery.
The Key Points were:
- Continuous Delivery is not a process that I can define for you, rather its a goal.
- The Goal of being able to continuously deliver your code to QA/UAT or Production and react in real time to the results of the release.
- Iteration Planning is Stressful
- Confidence in Releases is Key to Automating Deploys
- Confidence in Code is Key to Moving Fast
- More Data and Less Stress
If you missed the webinar, you can view it above or watch it on youtube and/or download the slides.
At the end of the webinar, I was left wondering: How does Assembla fit into the Continuous Delivery Pipeline? Stay tuned, more to come.
To Learn More about Continuous Delivery checkout some of my other blog postings:
Continuous Delivery vs Continuous Deployment vs Continuous Integration
Distributed Continuous Integration - Keep the Mainline Clean
Avoiding Premature Integration or: How we learned to stop worrying and ship software every day
A Developer Dashboard for All Your Tools
You ever have those really good ideas, create a product or website around it, and no one cares? That is what is happening with the Custom Tab at Assembla. It’s about my favorite tool in the stack there, since I can use it to extend Assembla functionality and tools without doing anything.
Our team used to have a bunch of tools all over the place, New Relic for monitoring our application, Nagios for monitoring our servers, Jenkins for our CI, Kibana for log aggregation, and even a custom application for showing off our Developer stats. We had documentation to let everyone know where each tool was. It was tedious and annoying to keep up to date and inform everyone where to go next.
Instead, I put them in Custom Tabs:

Now, when we add a new tool to our stack, its immediately available and visible for all our developers to use from within the Assembla project.
Ideally you are able to use authentication integration so that being logged into Assembla also has you logged into the other service or tool removing the need to double login, but typically this is not an issue as you would have to login again for another browser tab.
We also just added the favicon as default to Custom Tab tabs, I hope you enjoy this feature as much as me. To try this out yourself, visit the Admin tab of your project > click on Tools > and Add the Custom Tab Tool.
To Check Out More Cool Features and Tools - www.assembla.com
Testing Realtime Web Apps with Cucumber.js
Software security flaw lets iTunes users download pre-release streams
Fans eager to get their hands on the new album from acclaimed electronic music duo Daft Punk, “Random Access Memories,” a week early were in luck when Apple’s iTunes software recently released an inadvertent leak. The computing giant’s music store has helped promote many major albums in the last year by offering full-length, high-quality streams in advance of their release in an effort to combat piracy. However, due to a software security flaw discovered by 9to5Mac, Apple may have instead been enabling illegal downloads.
Since Apple does not hide or encrypt HTTP requests in iTunes, users could find the URL hosting the stream by using a URL scraping tool, 9to5Mac reported. Equipped with the URL, they could then go to the site to download the entire album for free and save it to their computer in high-quality MP4 format. Although DRM prevented users from playing it on other devices, the hole still raised some significant challenges for the company to address.
The economics of streaming
Artists such as Bob Dylan, Justin Timberlake and David Bowie have all had albums previewed as iTunes streams, and rock band The National was also debuting their album this way at the same time as Daft Punk. Artists generally opt to offer a stream in the hope that fans will go to iTunes to listen to – and possibly, as a result, pre-order – the album rather than downloading a leaked copy, 9to5Mac noted. While doing so might enable fans to rip a lower-quality version, the hope is that added exposure is more valuable.
In the case of Daft Punk, the album had already leaked, but such issues could raise broader concerns as Apple prepares to launch its iRadio streaming service with iOS 7. A tweak to secure the software and prevent such leaks will be important to maintain the trust of record labels with full catalogs of music available.
This problem recently occurred with popular music streaming service Spotify, with a flaw that The Verge dubbed “Spotify’s nightmare.” The publication reported that a freely available Chrome extension could be used to download a full, DRM-free MP3 file of any track being played in the company’s web player, which has been in beta since November but did not encrypt its file transfers. The extension was removed from Chrome’s Web Store and Spotify issued a patch, but the flaw briefly gave anyone access to download any song from the service’s 20 million song catalog.
With the economics of music streaming services still in flux and the music industry as a whole struggling to determine viable business models for the internet, ensuring that such tools do not offer built-in workarounds is essential. To shore up the software security of these types of applications and avoid leaks, programmers can use tools such as static analysis to catch potential errors and make their applications, in the words of Daft Punk, “harder, better, faster and stronger.”
Software news brought to you by Klocwork Inc., dedicated to helping software developers create better code with every keystroke.
JUC Visits Israel on June 6
Join the community of Jenkins technologists dedicated to expanding their skills and moving the Jenkins platform forward. Jenkins project founder and CloudBees elite architect Kohsuke Kawaguchi will open with the keynote, flanked by other brilliant Jenkins supporters such as Hans Dockter, founder of Gradle and Gradleware, and Fred Simon, JFrog’s founder and chief architect.
More than 200 people have already registered, and our co-organizers at JFrog say they expect all 300 spots to fill up. You can see why – check out the awesome lineup on the agenda and the welcoming venue:

In addition, the food and drink will flow freely – there will be a fruit break, ice cream break, and beer break in addition to a special chef lunch. And everyone gets a commemorative conference tshirt.
Special thanks to our friends at JFrog for co-sponsoring JUC Israel with us (they’ve done a lot of the heavy lifting on this one)! And thanks also to sponsors Cloudify and White Source.
Register now!
If you can’t make it to Israel, consider these Jenkins events:
- Moving to Continuous Delivery in the Enterprise – London, June 10
- Jenkins Meetup – Munich, June 15
- Jenkins User Event – Copenhagen, September 6
- Jenkins User Conference – Palo Alto, CA, October 23
-- Lisa WellsCloudBees Partner Marketing Bee & Managing Editor, Continuous Information
Follow CloudBees:
Testing the Limits with Jonathan Kohl – Part II
In Part I of this month’s Testing the Limits series, Jonathan Kohl talked the life of the Agile methodology, his relationship with and advice about mobile app testing, and how new and season testers alike can advance their skills and feed their passion.
Today, he’ll talk about the biggest hang-ups teams have when it comes to testing, how to overcome those hurdles, how he became a fan of “gamification” in testing and a few other words of wisdom.
********
uTest: When speaking or consulting on mobile application testing, what’s the most common question you encounter and what’s your answer?
JK: This is the question that comes up the most after people have heard me talk about testing on mobile projects:
“Is it true that we need to test on real devices, incorporate movement, and test out in the real world, outside of the office?”
My answer: “Yes.”
Mobile technology has been developed to support movement, and it has a lot of dependencies. For example: networking (while moving you change networks, technology, and encounter lots of errors or weak signal conditions), location services (all about movement and spending time in different locations), weather and environmental conditions (temperature and light have an enormous effect on how some apps work), and movement (the devices have movement sensors, and are interacted with using touch screens and voice control. Combining inputs and sensors getting triggered from movement can be tough for apps to handle.). I know of no tool that helps us sort that out without getting physical with the devices. Hopefully we get better ones soon that focus on mobile technology, instead of treating it like a small PC/web browser.
uTest: You work a lot with startups, when there’s a shoe string budget how do you communicate the importance of testing and QA?
JK: A successful business requires execution on several dimensions, for example, understanding your customers and their needs, having a great product or service offering that solves real problems for people, having enough investment to enable you to deliver, and a strong grasp of your financials. These require different skills and focus, but there is an over-arching need to create value for your customers, and part of that is great customer service. Technology fits directly into that, especially as we view organizations through the window (screen) of a smartphone or tablet. A poor technology experience is another type of poor customer service, so there is a direct line there. If you let down your customer or provide them with a poor first experience (which we are finding is increasingly on mobile devices), you can lose them forever. So not only do we need to have great people skills and a good strategy for satisfying and impressing our customers in our human interactions, but in our technology interactions as well.
A lot of people don’t realize that we are evaluated on our ability to deliver on the technology front, and that technology is a major part of customer service. It fits into the customer experience, but also in our offering of a product or service. Does the technology help, or hinder? Do we have an awkward experience, or is it seamless. It also has an effect on investment and financials, even if it is indirect. A quality product and technology stack is vital to the success of a business over the long term, so we need to invest in ways to make sure that we meet our customer’s needs there as well. Good quality processes, development and testing are part of that, and we ignore them at our peril.
uTest: Part of your consulting work is to help teams adjust to methodology changes. What’s the biggest hurdle these teams need to overcome and how do you help them do that?
JK: Dealing with people issues – different individual people with different agendas, motivations and fears. On one hand, you have people who have bought the marketing of a methodology and think that it will cure all ills. On the other, you have people who are deeply threatened by the change the methodology represents. It is a difficult balance to reign in the exuberance and unrealistic expectations of one group, while encouraging the laggards to get on board and actually try it out. I spend a lot of time myth busting on both groups. The methodology will not make everything perfect (and it won’t work forever), but it will also not cause you to lose your job, or cause bad things to happen to you. I work with teams by doing – getting in there and demonstrating, and helping address their fears. If I can do it, anyone can do it.
It’s also important to help them be able to measure the success of their methodology adoption in real terms: better product, better customer service, saved costs, etc. Just measuring success on adopting a new process misses the point, and will lead to some difficult situations down the road, particularly if that new process isn’t helping you create value for you, for your team, for the company, and for your customers.
People issues are hard to cope with. They aren’t fun, and it means we have to confront people on difficult topics. However, healthy disagreement and healthy confrontation are good, healthy things. If we suppress conflict, it just goes underground. We reach peaceful solutions through negotiation and co-operation, not by suppressing them in a need to “be positive.” There is also nothing quite like trying something out and seeing whether it works or not. Evidence, generated by a team that is committed to getting results, not just in implementing a methodology change, is powerful, and helps build teamwork and consensus towards reaching goals. Talking is one thing, doing and getting feedback on how we are doing helps enormously.
uTest: You’re a fan of “gamification.” What drew you to this concept and why do you think it works?
JK: My colleague David McFadzean can take the blame for that. David and I were looking at various topics: using uncertainty factors and monte carlo simulations when estimating software projects, game theory ideas for helping teams organize their mix of processes, tools, technology and internal policies, and engagement, particularly with regards to mobile apps. I do work in mobile strategy, mobile app design and product management, and I was working on formulating my thoughts on mobile design and dependencies. David kept pointing out how I had used game theory ideas, or gamification ideas in my work without realizing it, so eventually I gave in and started looking at it more seriously. At first, I thought gamification was childish, but he urged me to look into it more deeply, and I was surprised at what I learned.
David is a video game enthusiast, so we started looking at video game design ideas and how they could be applied to a project we were considering working on. I then discovered Jane McGonigal’s book Reality is Broken, and I loved her game creation, the research she had done regarding video games, and her positive urging to help solve real world problems with games. I’m not sure she would agree with how I implement game concepts on software projects, and how I have worked to make software testing activities more like a game (she’d likely prefer we made a real game out of it, rather than gamify something else), but I owe a lot of my energy and inspiration in this space to her. I am drawn to her positivity and her challenge for us to do better things in our lives and to help harness collective productivity to solve problems.
It works because it is a powerful engagement model. Just look at how much time people play games on mobile devices. The game designers are tapping into something powerful, and they know how to develop great apps people want to engage with. Gamification when done well helps motivate people to return to use our apps over and over, and they feel drawn to the activities within the app. Games help provide intrinsic rewards – Jane McGonigal calls games “hard work that we like to do.” Many times, especially in software testing, we avoid the hard work because there is no inner motivation. We just have to do it because it is our job, or it is someone else’s job. I have had success in the past by making testing interesting and even fun on software development teams. It is not uncommon to work on teams I lead where everybody tests, and sometimes it’s hard to get people to do their other jobs like programming, analysis or project management because they are having fun testing.
Gamification isn’t the only engagement model, and because it became a bit of a buzzword, there is an enormous amount of bad gamification out there. But, if you take the time to analyze it systematically, determine that it will be a good thing to try in your software or system, and put the time in to create it from the ground up, it can be a useful tool.
uTest: You’re quite the prolific writer. What’s your favorite topic to write about – the one you never get tired of?
JK: Anything that helps people look beyond their current problems, to look at the big picture and inspire them to create great software. It’s easy for us to get caught up in good practices and tools, and forget about the people we are developing software for. While tools, practices, processes and things like that are very important, they should all serve our efforts to create great software. We often forget that and put other things ahead of that effort.
One thing I never get tired of hearing from people who read my work, is when it helps them. Especially if it inspired them to change their world for the better, even in some small way. That’s always my goal – to inspire people to do something better, and hopefully my experience resonates with them and they can enrich their own experiences by building on those ideas.
uTest: What new thing/trend/innovation are you keeping your eye on at the moment?
JK: I’m watching mobile or pervasive technology that utilizes movement (gestures, eye movement, etc.) rather than depending on keyboards and touch screens. This is a fascinating space, as devices become more embedded in our lives, and (hopefully) easier to interact with. It is also interesting to imagine the unintended or unwanted consequences. In many ways, we are just scratching the surface of what mobile technology can do for us. Mobile technology has taken a big step forward with smartphones and tablets, and network speeds and reliability are getting there, but have a long way to go yet. It reminds me a lot of the rise of the world wide web in the 90s. There is so much potential for fascinating tools, usage and effects both positive and negative on human behavior and interactions.
uTest: Any brand new advice or words of wisdom that we can be the first to share?
JK: This is a tough question to answer. I think I will leave you with a thought about the lack of permanency in our industry, particularly with regards to software development processes. As a consultant I see a lot of people working very hard to implement a tool, practice or process change, expecting it to solve a lot of their problems. People will push to get something through, hoping for great success, sometimes sacrificing their health, their emotional well-being, and sometimes even political capital or their reputations to try to get adoption. While that particular solution may help, it won’t last forever. We need to adapt and change, and sometimes it really isn’t worth that personal sacrifice. If the team doesn’t want to adopt a tool or practice or development philosophy, there are most likely deeper issues that need to be addressed first.
The hardest problem to point out to people who are desperate for change is that no one solution will last forever. Everything changes, so this new state is not static and is not permanent. Once you have overcome this hurdle, there will be new ones. Many lottery winners have to go back to work, rock stars have to release an album and go on tour when their kids need an expensive university education, etc. There isn’t a lot of permanence in life, so we need to be open to adapting and changing. Getting to X, whatever X might be, is not a permanent solution. It’s just the best next step of a journey. This also applies to our software development processes. What worked last time may not work next time, so we need to carefully evaluate what we do on the basis of how it helps, and to be able to know when it isn’t helping us anymore. Implementing Scrum, buying a new productivity tool, or creating a fantastic new mobile app isn’t the end of the road for us. We haven’t arrived, it’s just (hopefully) the right thing to do at the time.
In this journey of life, we don’t really arrive until our journey ends at the end. Similarly, on software projects, if we get arrogant or complacent and think we have arrived and don’t need to adapt, we are probably already dead. We have to constantly change and adapt to new technology, to market and economic forces, to evaluate new tools, practices and processes and adapt our mix of those elements frequently, or else we will fall behind.
Adventures in Exploratory Software Testing
5 Steps to Improve E-Commerce Performance for Increased Sales: Backend Performance
Shunra Enhances Mobile Performance Testing Capabilities of Shunra NV for HP Software
HP LoadRunner Mobile Testing Capabilities Enhanced by Shunra
Consultants, we need you!
The Sonar project was launched more than 6 years ago, and SonarSource, the company that develops and promotes Sonar, was set up almost 5 years ago. Since then, we at SonarSource have consistently focused on developing the platform, really staying in our role of Software vendor. Except for cases where we could bring a unique expertise, we have avoided providing consulting services for several reasons:
- We want to focus all our energy on improving the platform, and consulting would be very disruptive.
- We want to avoid the “easy” money to stay focused on the core of the business: the software.
Those reasons are good enough for not going into the consulting business, but there is another one that dwarfs them all in my opinion: there is a huge market out there for companies that want to run a business around code quality. And when there is a big market, it generally does not take long before numerous companies respond to market demands with rich offerings. We could certainly compete in such a marketplace, but it’s not what we do best. Therefore it’s clear to us: we should focus on developing the tool, and consultancy companies will execute on implementation services. This was our vision 5 years ago, and it has not changed!
I am amazed every day to see how many companies are considering Sonar as the next tool they will adopt massively. Amongst them are the biggest companies in the world. As an example, we know that at least 30 of the Fortune 100 companies (and we’re sure there are more) are using Sonar intensively across their organizations. Those guys need professional services to succeed in their implementations: they obviously need support for installation and configuration of the tool, but what they need first and foremost is help defining strategies and implementing processes around code quality. For example, they need help to:
- Define quality requirements and map them into a Sonar quality gate
- Define and implement the reporting necessary to execute on the strategy
- Define actions plan for remediation of existing issues
- Define a process to enforce actions plan
- …
Companies need professional services to succeed with Sonar – services we cannot offer, but would like to support. To that end, we have developed a SonarSource partnership program that provides partner support for the pre-sales process, complete access to our entire solution, discounts on our Editions, and some visibility on our web site.
For those who aren’t ready to come on board with this partnership program yet, of course you’re still welcome to do business around Sonar and use the user mailing list to share experience and provide feedback. But we hope you’ll join us in this partnership, to the betterment of your ventures and the Sonar community at large.
Making jade and mustache templating work together
One our frustrations using jade and icanhaz (a javascript front end mustache implementation) was that when we were trying things that were obvious to us, jade would simply fail to template and we weren’t sure what was causing it.
Fortunately small TDD cycles and experimentation made us realise that it was the combination of new line characters and mustache code made jade work/break.
We would try something like this:
script(type="text/html", id="my_checkbox", class="partial")
li
label(for="{{code}}")
{{name}}
input(id="{{code}}", checked="checked", name="{{code}}", type="checkbox")
The set of statements above would be valid mustache (once converted to HTML) but jade complains because the {{name}} is on its own line. The fix was to use the pipe (|) character to force jade to recognise a line break. It looks like this now
script(type="text/html", id="my_checkbox", class="partial")
li
label(for="{{code}}")
| {{name}}
input(id="{{code}}", checked="checked", name="{{code}}", type="checkbox")
Simple, but not particularly obvious from the examples in their documentation.
TeamForge for Free…That’s Right, Free. With CloudForge.
Tuesday was a big day for CollabNet. We announced some long-planned disruptive changes to CloudForge™ pricing and packaging. A key component of these changes was making TeamForge® available as an entry point to all CloudForge users. The initial feedback on this development has been extremely positive with strong press, analyst and partner feedback as well as large spikes in both new and free users.
Of course, CollabNet continues to ride the market wave of development and deployment moving to the public and privately managed cloud. But we’ve had CloudForge for a while, so this begs the question as to “what’s different?” Basically, the answer is that the new version of CloudForge offers unlimited free TeamForge projects within CloudForge, through a defined and streamlined set of TeamForge tool capabilities in the form of an easy to adopt “template”. These features allow users to get started in minutes with a SaaS-based TeamForge model in the cloud. Then, when they’re ready, users can simply add more security and features, to seamlessly scale to enterprise levels as their needs grow.
Our TeamForge platform is recognized by many as being the most sophisticated and scalable cloud-based development and deployment platform in the market. It’s been in use by a wide range of organizations in diverse industries for 14 years. Part of this industry adoption has been driven by the ability to codify the “right set” of reusable templates to create standards for embedded/mobile/web applications, client-server development processes, and more.
These templates include TeamForge tools, third-party tool integrations, data models and workflows, application frameworks, and deployment infrastructures. They are designed to enable repeatable, measurable software development processes for the workgroup that also scale to governed enterprise-wide processes. Now CloudForge users will have access to a streamlined template of TeamForge tool capabilities, and then can grow from there.
At CollabNet, our relationship with the development and open source communities is a critical part of our success. With the pricing and packaging move described above, the CollabNet team is proud and excited that we are taking our 14 years of TeamForge enterprise experience and bridging it into the context of modern cloud-based freemium and streamlined product availability. The bottom line is to offer industry’s best set of tools that developers love, and then scale seamlessly to the enterprise. It’s a reflection of our mission to help enterprises deliver great products to market faster, and it’s a key part of our 2013 strategy.
Stay tuned. The TeamForge platform is robust, and there is a lot more we are going to do to further integrate TeamForge as the core engine into the easy-to-adopt context of CloudForge. I look forward to telling you more about this as we progress further down this path.
The post TeamForge for Free…That’s Right, Free. With CloudForge. appeared first on blogs.collab.net.
