Archive

Posts Tagged ‘beweevee’

beWeeVee for Sharepoint v2.0

March 4th, 2010

Reading time: 1 - 2 minutes

Huddle Group has recently released a new version of beWeeVee webpart for Microsoft Sharepoint. This webpart is fully integrated with Sharepoint’s security schemes and versioning system.
Below you’ll find basic information and screenshots of this product. If you need further information, please, feel free to contact us at info@corvalius.com or info@huddle.com.ar.



View more presentations from Corvalius.
  • Share/Bookmark

Corvalius, Technology , , ,

Programming collaboratively in geographically distributed teams

March 1st, 2010

Reading time: 10 - 17 minutes

 

PDF Version

Header Information

 

User

Technical Buyer

Economic Buyer

· Developer

· Architect

· IT Department

· Offshore Manager

· Director

· CIO

 

A day in life (before)

 

Scene or situation: Focus on the moment of frustration. What is going on? What is the user about to attempt?

 

Borys is the lead programmer of a mid-size offshore Development Company based on Poland. He is currently working on the corporative payroll system of its main client who is based on the United Kingdom. He spends one week a month at the client company at London working along the client in planning new features and requirements. That week is always very intense as the face to face communication makes it a very productive time. Borys is a very skilled developer, he got the lead programmer job after his superior was required by the client for another mission critical system just a couple of month ago. Before that he was the developer of the Transacting engine, the one that execute online transactions on behalf of the entire organization.

In one of those trips an urgent change request was added to the backlog by Ian from the business analysis team. That left them 4 days to do the necessary changes in the transacting engine, and the rest of the application.

Irena was a very clever developer at the Warsaw team, leaving her in charge of the 120K lines of the Transacting engine code, had been a no brainer decision. However, she was quite new to the job of extending it.

 

Desired Outcome: What is the user trying to accomplish? Why is it important?

 

The change request was in fact caused by a new requirement issued by the England Central Bank, and it must be in effect by Monday morning, when the company would start the payroll processes to all their providers and workers. If they didn’t comply most transactions would be rejected by the source and requiring the company to handle each one individually by a manual workflow; with the volume of transactions scheduled to occur that was definitely an impossible task.

 

Attempted approach: Without the new product, how does the user go about the task?

 

Borys meet with Ian and Irena for 2 hours to understand the scope of the critical request. Irena was at the phone from Poland, and she was able to understand the main problem. After that Borys meet with her by phone to speak about the extensions that had to be performed on the rules engine to handle the requirement of the Central Bank. Borys knew that the rules engine was capable of doing it with some extensions that would require slight architectural changes in the adapters and rules logic. Being the most knowledgeable person on the transacting engine (it was his baby after all), he explain in detail Irena the solution. It wouldn’t take him more that 1 day to solve the problem, which would leave the certification team Friday to perform all the required tests to put it in production on Saturday.

He continued with his planned work while Irena was busy working along the plan they laid out. At the end of the day they spoke again, she was a little behind, and had to take a couple of decisions that Borys wasn’t confident about. He had his time booked until after dinner, so he wouldn’t be of much use that day. She continues working around the clock until 1AM.

The next day, they had the daily meeting Irena needed lots of help with the rules engine, but no one was as skilled at it as him. They phone called each other every 2 hours to assess the status. Lots of emails with questions went back and forth, Borys was worried. At the end of the day he had to take the airplane to come back to Poland, and they were already delayed.

He went to the office on Saturday and started to review the code, he found very important mistaken assumptions; it wasn’t Irena’s fault, which was the first time she extended the rules engine. That part of the system had been in place without modifications for almost 6 months. He had a hard time remembering all the nitty gritty details on why he did some things also. They pair programmed and redid the entire feature and finished by 2AM. On Sunday the Certification team had to come to the office, they weren’t very thrilled at it. Deployments where done on weekends so the production team had rotating personnel that worked on weekends so they didn’t mind.

Errors where found and corrected by Borys and Irena, working around the clock they decided that if there was a bug they wouldn’t correct it; there was no more time, they had to put the changes in production right now. The production team finished by 5AM London Time and was ready to roll by 7AM. Most transactions were executed with some exceptions that were performed by hand. The mission has been accomplished. Remaining defects where squashed during the week for the next weekend deployment.

 

Interfering factors: What goes wrong? How and why does it go wrong?

 

Irena was a very clever developer but her knowledge of the inner working of the rules engine was not as detailed at needed, even if Borys was pretty detailed in the documentation. Borys wasn’t able to see what Irena was doing because IT rules at the client company didn’t allow him to use screen sharing software (banking network restrictions are a norm almost everywhere) so his communication bandwidth was limited and wasn’t able to track her steps to guide her. The end result was to restart the entire work Irena has been doing for 2 days adding to the project wasted effort.  

Borys knew very well the inner working of the rules engine (as he has written it) but the last time that part was modified she wasn’t on the job. Even Borys had trouble remembering why he did something like performance tweak here and there. Those detailed inner working reasons are not typically documented because they are not worth the effort (except in cases like this one).

The certification team at London was not very happy to have to work on Saturday night and Sunday when they were told that they would have the build by Friday. And the production team had to work around the clock to have the system productively by 7AM without the entire certification process done; at the time they were already complaining that if something bad happened it wasn’t their fault.

The system worked but they were lucky, as the certification process couldn’t be performed in it’s entirely; so they risked a lot to go into production.

 

Economic Consequences: So what? What is the impact of the user failing to accomplish the task productively?

 

Failing to have the requirement changes by Monday would have been a huge problem for the client company and for Borys boss too. Having to resort to the manual workflow would have delayed the payments to providers for 2 to 4 days, delaying also the delivery of important goods. Borys boss would have trouble billing the extra hours worked by Borys and Irena, as the client wouldn’t be too thrilled of the inconvenient.

 

A day in life (after)

 

New approach: With the new product how does the end user go about the task?

 

Borys and Irena would have the meeting with Ian. Irena and Borys would fire up Visual Studio, and try to connect through the Windows Peer-Networking stack (a peer-to-peer technology that can pass firewalls that enable IPv6 edge traversal). Sadly the IT department does not allow IPv6 traffic, so Irena shared the solution through beWeeVee for Visual Studio Saas Viewer, a Silverlight application that is able to give basic access to the solution on the other end.

Borys and Irena discussed the detailed implementation right into the code, putting comments and discussing key details of the inner working on the rules engine. At the end of the 2 hours conference call they had already laid out a solution straight in the code. That was possible because they would simultaneously write code while they discussed the changes needed. Borys helped Irena also to write the tests that would define the interface and behavior of the rules engine changes.

Irena worked on her side, and once in a while Borys connected to the Saas Viewer to see a fast playback of the changes that Irena is working on; in the event he discover something that he was not confident it can work, he annotate the information in Irena’s code and sent her an small review project tweet for her to notice that he was around.

Irena finishes by 4AM and by Friday morning, the build was sent to the certification that took the entire day and Saturday morning. By Saturday midday the build was ready to be put in production.

 

Enabling factors: What is it about the new approach that allows the user to get unstuck and be productive?

 

The live collaboration straight into the code that beWeeVee added to Visual Studio allowed Borys and Irena a very efficient communication and collaborative workflow. The use of the beWeeVee for Visual Studio SaaS Viewer gave Borys the ability to access Irena’s solution code in a split second from a web source, even if the typical workflow was disrupted for security reasons inside the bank.

Furthermore, the ability to replay all changes that Irena made to the code was an invaluable aid to let Borys understand in a quick glance the state of advance. Even more, being able to review some rule engine key changes months ago using the playback feature aided Borys to remember key details that were invaluable at the time of communicating the solution to Irena.

 

Economic rewards: What are the costs avoided or benefits gained?

 

One of the biggest benefits of beWeeVee for Visual Studio is that the communication bandwidth is enhanced by working directly with the subject matter, not in an abstract way. In that way, the mental model mismatch between Borys and Irena get narrower, diminishing the rework, accelerating the time it takes to accomplish the task. The solution obtained diminished the needs of redesign and refactoring after production because the entire team was more efficient.

Under the same assumptions, an alternative solution to diminish the risk identified after the first day would have involved Borys to depart Thursday noon to Warsaw to join Irena on Friday. Even in that case, they couldn’t have been able to release the build for certification on Friday mid-day.

Under a different set of assumptions the IT department would have permitted the use of a remote desktop solution. That could make a slight difference on the communication (the first 2 hours information exchange between Borys and Irena), however it wouldn’t made much difference on the efficiency of being able to write code simultaneously and the ability to use the playback ability. So the efficiency would have been still much lower under those assumptions. Moreover, as beWeeVee for Visual Studio is embedded in the native development environment, the development workflow is not altered; something that would have happened using other alternative software likes Etherpad or beWeeVee Web.

  • Share/Bookmark

Corvalius, Technology , , , ,

So… how does beWeeVee compares with Etherpad and Google Wave?

January 25th, 2010

Reading time: < 1 minute

A recurring question that we’ve received is the one that entitles this post. In order to answer that question, we’ve created a benchmark matrix to compare the three alternatives feature by feature. Please, feel free to mail us if you have some information to share or to update. We always try to complete this table with the last information available on the web. Visit http://www.beWeeVee.com

Benchmark

  • Share/Bookmark

Corvalius, Technology , , ,

beWeeVee SDK - January 2010 Released

January 18th, 2010

Reading time: 1 - 2 minutes

After the feedback received during the lasts months, we’re ready to publish our latest release of the SDK of beWeeVee. As we always do, we hope to count on your feedback and advices.

Features

  • API for .Net to include live collaboration features.
  • Conflict-free Data Synchronization through Operational Transformation.
  • Native API Support for Simultaneous Text Edition.
  • Extension model for the beWeeVee API base classes.
  • Support for Client-Server and Peer-to-Peer architectures.
  • WPF and Winforms technology samples.
  • Javascript/Silverlight interoperation example.
  • Microsoft Peer-Networking (P2P) technology samples.
Supported Runtimes
  • .Net 3.5 on Visual Studio 2008
  • .Net 4.0 Beta 2 on Visual Studio 2010
  • Silverlight 3.0 (special built version for Silverlight 4.0 Beta also available for licensees)
  • Javascript (through Silverlight Interoperation, requires Silverlight installed on the client).
Download
  • Share/Bookmark

Technology , ,

beWeeVee on Microsoft Sharepoint

December 22nd, 2009

Reading time: 2 - 2 minutes

If you ever wondered what it would incorporate co-operation (real-time collaboration) in Microsoft Sharepoint, and can stop.

In the last months, the team of specialists from Microsoft Sharepoint at Huddle Group, worked to integrate beWeeVee as a webpart in this tool. This is a big step because this provides strong progress in the sense of increasing the adoption of co-operation in a corporate environment through familiar tools for these users. Taking its intrinsic benefits to end users in a simple and proven effective.

Huddle Group team, headed by Daniel Saad, based its work on beWeeVee SDK to create a webpart that would easily integrate with Microsoft Sharepoint and export the result of the pad to a Document Library.

 

How does it works?

  1. It allows to write documents using the co-operation between 2 or more users.
  2. Automatically saves the result to a Document Library.
  3. It uses native Microsoft Sharepoint features such as versioning, workflows, and permissions.

 

The team developed this webpart to be used in areas such as:

  • Meeting Minutes Generator
  • Review Spaces for Documents
  • Templates for spaces of co-operative working

Another good news is that the webpart works in Microsoft Sharepoint 2007 and Microsoft Sharepoint 2010.

The following is a preview of the product, implemented at a domestic site Huddle Group.

image

For further information about this product, please contact info@huddle.com.ar

  • Share/Bookmark

Corvalius, Technology , , , , ,

beWeeVee en Microsoft Sharepoint

December 21st, 2009

Reading time: 2 - 3 minutes

Si alguna vez se preguntaron cómo sería incorporar co-operación (colaboración en tiempo real) en Microsoft Sharepoint, ya pueden dejar de hacerlo.

En los últimos meses, el equipo de especialistas de Microsoft Sharepoint en Huddle Group, trabajó para integrar beWeeVee como un webpart en esta herramienta. Este es un gran paso, ya que este avance aporta fuértemente en el sentido de incrementar la adopción de la co-operación en un entorno corporativo a través de herramientas familiares para este tipo de usuarios. Llevando sus beneficios intrínsecos a usuarios finales de manera simple y probádamente efectiva.

El equipo de Huddle Group, a cargo de Daniel Saad, trabajó basándose en el SDK de beWeeVee para crear un webpart que permitiera integrarse fácilmente en Microsoft Sharepoint y exportar el resultado del pad a una Document Library.

 

¿Cómo funciona?

  1. Permite escribir documentos haciendo uso de la co-operación entre 2 o más usuarios.
  2. Automáticamente salva el resultado a una Document Library.
  3. Utiliza características nativas de Microsoft Sharepoint, tales como versionado, workflows y permisos.

 

El equipo desarrolló esta webpart para ser utilizada en aspectos tales como:

  • Generador de Minutas de Reuniones
  • Espacios de Revisión de Documentos
  • Templates de espacios co-operativos de trabajo

 

Otra buena noticia es que el webpart funciona en Microsoft Sharepoint 2007 y en Microsoft Sharepoint 2010.

La siguiente es una vista previa del producto, implementado en un sitio interno de Huddle Group.

image

Por cualquier información sobre este producto, pueden contactarse a info@huddle.com.ar

  • Share/Bookmark

Corvalius, Technology , , , ,

Message to our users…

December 5th, 2009

Reading time: 2 - 2 minutes

To all users,

Given that Etherpad was bought and shutdown by Google, Etherpad users are now looking for alternatives. As the beWeeVee Notepad Techdemo support some of the features that Etherpad had constructed over their 10 months of operations it looks natural that some more users gravitate toward using it as an alternative.

Yesterday, when the word came to us from one of our users, that Etherpad was effectively shutting down on March we recognized that a void was created when more users started to use beWeeVee Notepad Tech-Demo as a substitute for it. beWeeVee as a technology is very important for Corvalius, as such we will continue to provide more features and also enhance our Software Development Kit for developers to create amazing application with it.

beWeeVee from the start has been conceived as a technology aimed at enhancing Desktop applications (like for example: beWeeVee for Visual Studio ) with real-time collaborative features (co-operation). The Tech-Demo aims to show those looking to implement those features in their software what could be possible using the Software Development Kit.

beWeeVee is a .Net technology so for the time being, the beWeeVee Notepad will continue be released on the Silverlight platform.

We would definitely want to hear your feedback and act accordingly on the technology roadmap. Visit us at http://beweevee.uservoice.com/.

Sincerely,
The beWeeVee Team @Corvalius

  • Share/Bookmark

Corvalius, Press Releases , , ,

Why we called it beWeeVee?

November 11th, 2009

Reading time: < 1 minute

Have you ever asked why we called it beWeeVee? Well, here you have some hints about how we explore alternatives when we was thinking its name…

 

P1040183

 P1040184

 

BTW: Be a Weaver ;-)

  • Share/Bookmark

Corvalius

What is real-time blogging, and why we should care about it

October 14th, 2009

Reading time: 4 - 6 minutes

Wednesday October 14th at 15 GMT.

First session of beWeeVee’s Real-Time Blogging Test.

We are starting… GMT 15:01
Ending time… GMT 16:29

 

—— Title: What is realtime blogging, and why we should care about it ——

The last months after the arrival of Google Wave, there has appeared lots of ideas on how to use Co-Operation (aka. Real-Time Collaboration). The idea of using the same artifact is quite of natural in the real world, like when writing in a board. However, we get used to the idea of tokenized access (exclusive access) to resources because of artificial restrictions imposed by technology. Why? There are millions of reasons, but we can resume them in 2 simple keywords: complexity and scarcity.

Solving how to access unique resources with writing actions happening simultaneously is indeed a very hard problem, and everyone that has worked in the field have experienced it first hand. We also have scarcity, the idea that you can have as much bandwidth and computing power as you like may have sounded far fetched 5 or 10 years ago. At the time the seeds of blogging and social networks were sowed most wouldn’t think based on those terms. And now a new seed is in the horizon, that is online co-operative services, Twitter is a first step into this space where access is tokenized but you have an stream of data flowing directly to you (the consumer). Other online services are migrating into this always connected, always alive, environment. Mostly because, it is a real-time service that do not differ much, in the sense that the world is still tokenized. That is all the fuzz about Google Wave, Etherpad and other providers of this technology like beWeeVee itself. We are seeing the transition between a tokenized world into a fluid world where access to resources is shared among the participants.

Blogging and news will not be obnoxious to this trend, there are certain aspects that will definitely change but we think is for the greater good. For example, today, we are real-time blogging as an experiment even though you can read this now as a blog post. We know first hand, that this process would cause fear of embarrassment into almost everybody (we do have it too). It is not easy to be exposed in front of an audience, but most importantly like if you where on TV. Blogs do have audiences today, but what if blogging moves into a real-time environment, where you can go and see what the author is doing, what he is writing, what he is deleting, what he is changing? You start to be like a TV watcher reflecting into the character of your favorite actor, you start to understand his writing processed, you can question it, while it is happening. You then are one among others in the audience, and a real-time information source. In the process, we can derive ratings and audience metrics that may guide (or not) the author in his stance.

Other examples, like multi-author blog post, would require writing policies and methodologies on how to write. Some of them, we had experienced first hand. When one writes and the rest correct (what we used today). Or everybody writes, like we use when doing distributed note taking, may be just a couple among other very different methodologies. From the publisher standpoint there are certain qualities like being able to have complex access control and WYSIWYG support, spell checking, etc. But what about the consumer? We think that the most interesting part is, what the consumer gets. If you allow playback of the session, you allow your consumers to see how you get into that distilled experience that they are reading (if they are interested in knowing more). They can see exactly what you wrote, what you left out, and how you modified it. They can have what we call a TiVo for Text. Now, let’s suppose you are reading a masterpiece from a Nobel laureate. Seeing how he wrote it, how he changed the plot multiple times, how he tried out alternate endings, etc. The potential for learning is huge, it is a very experiential way to learn. There is certainly other uses like correcting essays at school, but that is a topic for a different post.

To summarize, blogging and news will probably be affected by the availability of streams of information and technology is already moving to make that happen, whether you like it or not. What we can do with that technology is what really matters. Real-time blogging like in a movie may or may not work, but the potential for experiential learning is here to stay.

  • Share/Bookmark

Corvalius ,

Announcing the availability of the beWeeVee SDK September CTP

September 29th, 2009

Reading time: 4 - 6 minutes

One of the most important outcomes of showing what you are doing face to face is that you get immediate feedback. That was exactly what happened last Saturday at the Buenos Aires’ CodeCamp 2009 event where we gave talks about beWeeVee and Microsoft Surface.

We had a booth at the event, so feedback started to come pretty fast. Some of the developers there, had already heard about Google Wave; so the concept of co-operation aka “really real-time collaboration” was already understood. From 1500 attendees, only a few knew that there was a company in Argentina that had been pursuing a similar vision, so they were set for a surprise.

Furthermore, a vision where someone can author digital artifacts in co-operation with many peers, through software designed from the ground up to exploit those interactions; was simple to realize when they were able to play with the Notepad Tech Preview at the booth. Definitely it gave a hint of what was going to be expected from our talk about it.

We called the talk “Cocinando una aplicación Silverlight en una hora” (that in english would sounds like “Cooking a Silverlight Application in 1 hour”), that scored another very important point. We were set for a live coding session where we would start the application from the very beginning, aka “File->New Project” and we would end with a beWeeVee enabled application using Model-View-ViewModel in Silverlight 3.

Then we where set for a surprise, the session was scheduled to start after the lunch break at 3:00 PM. When we arrived there at 2:35PM to setup everything, the room was already full. With the help of the organization team, we took out from the room all the extra stuff (like some tables) to make more room; without much success at 2:45PM with the extra room already taken and people already sitting in the floor we had to close the door. To be true, that was a little shocking but it gave us an idea of the kind of feedback we were going to get.

We started from the design and moved through the implementation of the sketching application using MVVM, until we “faked” the synchronization using a single ViewModel in the same instance. It was the time to introduce beWeeVee, the why and how to achieve the co-operation goals. That part of the presentation was fast, but people was also excited. They wanted to know when we were going to release the bits we were using to achieve those results.

The questions regarding the SDK continued after the session at the booth, so we decided to build and release a Community Tech Preview of beWeeVee for everyone to try out. Those are the bits that we used for the CodeCamp demo and presentation with our own internal documentation that we know is a little bit too sketchy, but it shows the most important parts of the API.

In the SDK we had included: Download beWeeVee SDK Community Tech Preview

- beWeeVee API Binaries for .Net 3.5 and Silverlight 3.
- beWeeVee API Documentation in Compiled HTML (.chm).
- “How to write beWeeVee enabled applications in Word 2007 Format” also available on the blog.
- 2 WPF Notepad examples (Server based and P2P -wcf peer channel- based example).
- 3 “Silverlight 3″ examples (including point based sketching, stroke based sketching with server in the same form and stroke based sketching with server).
- 1 beginners very basic WinForm example on how to write your own control with the Low-Level API.

By using the SDK you are agreeing with the TECHNOLOGY PREVIEW LICENSE AGREEMENT found in the License.txt file.

As promised to those attending the session, you can also download in a separate bundle as academic support material from: Download CodeCamp Academic Material

- The CodeCamp MVVM example with “fake synchronization”.
- The CodeCamp MVVM example with real synchronization using beWeeVee.
- The PowerPoint we used at CodeCamp (the PowerPoint is in Spanish, but it has some interesting diagrams of how things look like).

Disclaimer: All background graphics had been used under what we considered academic fair use, with the aim to set the mood of the presentation (and because they allowed to show a more humane — and less technical — theme). If you are the owner and do not consider it fair use, send a mail to info@corvalius.com and we will remove it immediately.

We had setup a forum where you can leave and vote any idea, feedback, comment or bug report at http://beweevee.uservoice.com. For us your feedback is very important.

Happy Coding,
beWeeVee’s Team

  • Share/Bookmark

Corvalius, Technology , , ,