With the recent influx of new talent, the Swarm City Dev Team is able to run two parallel development tracks simultaneously.

Boardwalk V2

The Dev Team has learned a lot in the 9 months since they began building Swarm City, and each release has offered its unique challenges. Developing Swarm City is like navigating unchartered waters. Though most of the elements existed prior; like Ethereum, Whisper, and IPFS, the Devs are a bit like a sailing crew with a boat and a compass. They have the tools and the know-how to expertly use them, but they are still taking a mapless journey, trying to navigate around all dangers the abyss presents.

One very important lesson the Dev Team learned is how to incorporate outside Devs in a logical way. This matters because expanding the Dev talent pool will fulfill project goals more rapidly. But also, Swarm City is a completely open source project. The intent has always been for the larger community to be able to build on and express value with the platform, without having to rely on any one person or group to do so. That means from this point forward it’s critical to be very conscious about code organization, structure, documentation, and workflow.

Because the Dev Team had worked together for a number of years before Swarm City, they were used to creating and organizing in a particular way. It suited their method of production, and allowed them to develop quickly. Now, because organizing and structuring for a larger audience of developers has become more important, they need to adjust their approach. With that in mind, the Devs will be splitting up their efforts into two tracks; prototype and production. The prototype track is the creative process by which the philosophical underpinnings of Swarm City get expressed into a model. The production track will take that model and develop it into a well-documented, high-functioning, aesthetic app. Beginning now, this is how the Dev Team will work:

Prototype

The first milestone is creation of the prototype. The goal of a prototype is to develop a proof of concept. Objectively, the current live version of Boardwalk (Version 1) is a prototype. It proves that users can request goods and services, and respond to requests in a decentralized way. It proves the Swarm City smart contracts (in the form of the very first hashtag called pioneer) function well as escrow agent, payment processor, and reputation minter. Boardwalk V1 is an important step, but what it is not is a production level app.

Production

A production level app is a more sophisticated and refined version of the prototype. Using feedback gained from prototype testers and interested Devs both inside and outside of the project, the Dev Team can make wholesale changes to the entire app, from the user experience to code optimization. That’s exactly what’s happening right now.

As mentioned in the July 3rd Dev Update, the entire Boardwalk User Flow is getting an update. Taking feedback from the current user base, @faffy and kingflurkel are refining the user experience with help from @bkawk. At this point in time they have created a clickthrough model for the Swarm City Core Team to play with. Once the model design, flow, and copy have been optimized, the Dev Team will give it to testers for feedback before it’s ready for final development.

@Bkawk is leading an effort with @psdev and @xardas to create a more organized and secure code base. For instance, they have incorporated Travis-CI, a testing tool that’s specifically designed to make sure open source code follows Google standards. The Travis-CI results can be followed in the #devhive channel of the Swarm City Slack. The goal is to have code that functions well, and is well organized. @bkawk has also created standards for branches and pull requests. That way developers interested in lending a hand can easily follow proper conventions. Those standards can be found here.

At the same time, @sponnet is working on a production version logic layer of the Swarm City code. As mentioned earlier, Swarm City is an open-source project, so the Dev Team is prioritizing the ability for outside Devs to be able to jump in to help this project, or use it for their own devices. This is the ground layer of Swarm City, agnostic of any front end language, and includes the smart contracts, and Whisper and IPFS integration among other things. If they’d like, any Dev may benefit from using this code as the backbone of their project.

Boardwalk V1

Meanwhile, @sponnet and @xardas are making improvements to the live version of Boardwalk. Even though a new version is imminent, the Devs believe it’s prudent to incorporate a few functionalities, like deal “time to live” and “cancel”, as well as the IOS fix. They will also incorporate many of the pull requests generously provided by developers from the greater Swarm City community. Big thanks to everyone lending a hand!

Connect With The Dev Team

The Dev Team is always on the lookout for other developers who want to get involved. If you have Polymer or Solidity experience feel free to reach out to #devhive on the Swarm City Slack. You can get a peek at the project by reviewing Github, here, or if you’d like to be involved in testing new releases, please join #testersignup on Slack and read the pinned post for instructions.

More to come soon. Cheers!