• Breaking News

    Friday, February 9, 2018

    Flux: The €85,000 Failed Modular Multi-Messaging Client web developers

    Flux: The €85,000 Failed Modular Multi-Messaging Client web developers


    Flux: The €85,000 Failed Modular Multi-Messaging Client

    Posted: 09 Feb 2018 07:50 AM PST

    Hey /r/webdev! I am Rich Clominson, co-founder of Failory, a website where we weekly interview failed startup owners.

    I have just published a new interview with Jan, CTO of Flux, a failed modular multi-messaging client. His startup raised a small angel round of 70K € and invested another 15K €. A combination of many issues, among them over engineering, led to their failure.

     

    Read now the story of "The €85,000 Failed Modular Multi-Messaging Client"!


    Hi Jan! What's your background, and what are you currently working on?

    Hi! I am the founder and CTO of Flux, which was a modular multi-messaging client. I studied a bit of physics and philosophy before, but I am mainly a self-taught full stack developer. Right now, I am in the middle of open sourcing all software that we built and using it as a basis for consulting and freelancing for companies that need a messaging platform. I am really grateful to all our investors that allowed me to do this and I am confident that somehow something new and bigger will evolve out of this unique situation.

     

    What was Flux about? How did you come up with the idea?

    The main idea is quite old and evolved out of discussions with friends at university. The main pain point we had at that time was that Facebook just entered the German market and we experienced firsthand what it means to have all your messages and friends stuck in the data silo of studiVZ, which was the German copycat that was used before Facebook. The basis of all product iterations was always that we tried to build something that lets you own your data but still take part in mainstream social media with normal non-nerdy friends. First prototypes were before diaspora but similar federated social networks. We quickly learned that support for all data types (images, events etc.) was too much, so we focused on the most important one: messages. The second learning that led to the product idea was that replacing the status quo was impossible so we focused on building a professional messaging product that used existing messaging channels like Facebook and email.

     

    How did you build Flux?

    We did never enter a growth phase and failed already in private beta. But we had a few thousands of users on the waiting list. We mainly got them through giving talks and public pitches as well as exposure from our accelerator StartupBootcampBerlin.

     

    Why did Flux fail?

    A combination of many issues, probably any one of them would have been enough for a failure, so I am still somewhat proud of what we achieved. This is my overview in no specific order:

    • Looking for investment too early/ at all: The product we tried to build was just not that interesting to investors, I see why with my knowledge now, but at the time we thought it was just about not trying hard enough. In retrospect, it was stupid to look for bigger investors at all, at least in Berlin. Had we just tried to sell consulting, services and custom solutions and building the product along the way instead of the wasted VC time we would have gotten much further. The wrong impression I had was based on reading mainly US-based blogs as well as listening too much to people from the Berlin startup world that gave advice on how they thought or wished things would be instead of the actual experience of success in the current world.

    • Bad cofounder fit: Me and my business cofounder were extremely opposite characters and at times there was a great synergy but more and more often this lead to a lot of friction. Also, co-founders should probably know each other for more than a year before, but we just met for the venture. Lastly, I highly overestimated the available funding in Berlin for this extremely early stage and kind of product and so assumed that a business person who is good with people had more to do than was the case. I naively thought he could just go and sell a prototype to a VC and then build up the office and hire the people as well as do finance and contracts when in reality all we needed was people to work on the product until we could show traction.

    • Over-engineering: I am responsible for over-engineering a few aspects of flux. I changed a lot since then, to not make the same mistakes again. But reading about extreme programming and MVP is one thing but I don't think I was able to really "feel" what it means without having gone through the situation. The following are the main over-engineering mistakes:

      • Overestimating the convergence/ availability of REST APIs: I thought all companies will publish a REST API with converging concepts for paging, endpoint structure, authentication, references and pretty open usage restrictions. Therefore, we built a DSL for connecting and consuming REST endpoints. In Erlang. We could just have built the first connectors manually and then at a much later stage still develop a DSL and automate the process if it would have made sense then. This was also a big problem because investors asked us about 'secret sauce' all the time, so the technology for connector building seemed really important to us. When in reality the problem was we wanted to impress investors in the first place.
      • Over/Under engineering Client Model: I did not know about observables and Rx, maybe they did not even exist then, I'm not sure. The point is the same however: the view model for flux became very complex and depended on multiple asynchronous processes and a locking system to generate it consistently grew hard to manage. Today I would not have half the headaches from then because of RxJS or similar tools.
      • Too early adoption of micro-services with wrong service boundaries: I tried to use whatever developer resources I could get my hands on and allowed them to use languages they thought were great as long as I also found them interesting and fitting. This lead to a mixture of Erlang, Go, Ruby and JavaScript that became extremely hard to support especially as developers with different knowledge joined and left. In retrospect, I should just have completely bought into the node.js wave, but at the time node.js was nowhere near the solid platform it is today and as we over-estimated the short-term funding and growth possibilities: we just thought that investing in reliable and scalable services would pay of sooner than it would have and that the language zoo would be no problem as the team grew bigger.
      • Technical idealism at the wrong place: I am and always was a CouchDB fanboy. But at the time the concept of CouchApp was also on the horizon and I was so much into the vision of distributed, independent and self-contained web applications, that I tried to make the whole architecture work in such a future. This future never happened and I could have spent a lot of the time working on actual product features with immediate impact.
    • Bad luck on timing: When we started, Twitter's API was still hugely unregulated and Facebook and Google had an XMPP API for messaging and saw it mainly as a relatively unimportant extra for their main products. But then messaging was the new big thing and they changed to a more closed and even more walled garden strategy. This was before business messaging accounts were on their focus, so we did not have the old API but the new APIs (e.g. Facebooks pages messaging) were not available yet. Needless to say, this was a small disaster for a startup with very limited resources. Luckily, we supported emails as a channel from day one so we could focus on email use cases. Maybe email support would have been on the over-engineering list too, if it did not allow us to build new iterations in this difficult time. Good email support is a huge pain to build, but once you have it, it's so powerful, that I do not regret a single sleepless night building it.

    • Focusing on consumers instead of businesses for too long: Building a product for consumers instead of businesses requires a very different mindset. After it became clear consumers and prosumers would not be a big enough market it took us too long to start focusing on businesses, mainly due to the different cultures.

    • What finally killed us: Contract Negotiations with a big German business When we finally managed to make the switch we were already very low on runtime. It was clear we could just try this time. One of our investors gave us one of their lawyers but the contracts were just an endless rabbit hole. When we finally found a somewhat acceptable basis, the big company had a restructuring and the contact person changed, we had zero runtime left and instead of being able to start the cooperation we had a new contract version in the mail that gave them complete exclusivity on so much of the project that we could never have used the software with a different client. That was the end.

     

    Which were your investments? Did you achieve some revenue? Did you lose any money?

    We raised a small angel round of ~ 70K € and burned through ~ 70K € of private savings for living costs for me and my co-founder. After giving up, just keeping alive the company entity and getting everything to a happy ending cost me another 15K. Our first business deal never happened and we never had revenue, so all this money could be seen as 'lost'. On the other hand, the learnings and time we had were incredible so for me at least it was totally worth it.

     

    What did you learn?

    In addition to all the learnings from mistakes I already talked about: I learned a lot about my weaknesses and people. Lastly, I hugely improved as a developer, architect, and CTO. This personal development is hard for me to put into words, it's just too much, and it is hard to tell what is a result of growing up and what is directly connected to the startup experiences. Just so much: I am not naturally good at implanting my vision into other people and also, I am not good at letting go and accepting half-baked solutions with long-term risks when there is not enough time.

     

    What's your advice for someone who is just starting?

    I don't want to give advice; the world is full of un- or semi- successful entrepreneurs happily giving advice to anyone and even those who were successful are full of survivorship bias and most advice is bullshit anyways. If someone has a question I am always happy to answer as honest as I possibly can.

     

    Which book would you recommend?

    I think books about entrepreneurship or technology are overrated. I read abstracts about all important concepts and go into slightly more depth for things I find relevant or interesting, but reading or writing a whole book instead of "doing" just feels fundamentally wrong.

     

    Where can we go to learn more?

    I am not publishing much at the moment, but if there is any news, I will most likely post it on Twitter.

     

    Original interview posted at https://failory.com/interview/flux

    submitted by /u/richclominson
    [link] [comments]

    Everything Easy is Hard Again

    Posted: 09 Feb 2018 11:42 AM PST

    Winamp2-js • Winamp in your browser

    Posted: 09 Feb 2018 01:10 AM PST

    CSS Space Shooter - an experiment in 3D rendering using only the DOM and CSS transforms. No canvas, webGL or images of any kind are used to render the game. Sound effects, music and audio visualization is handled by the Web Audio API

    Posted: 09 Feb 2018 06:53 AM PST

    Introducing CSS Modules Next

    Posted: 09 Feb 2018 03:03 PM PST

    Android JavaScript Console

    Posted: 09 Feb 2018 03:05 PM PST

    TLDR: Why is there no way to debug JavaScript locally on unrooted Android/mobile?

    I see some people advocating about:debug should give an option to display a console, but that appears to have gone now.

    Redirecting the console to an HTML element doesn't work as objects/arrays don't show up properly.

    I'm not near a computer, so I can't remotely debug.

    Nothing in particular comes up on the Play Store when looking for a browser with JavaScript console. There's JavaScript console apps, but then you lose the HTML/CSS that a browser would show. Why isn't there a browser that shows the console on another tab or at the bottom of the screen? Is there a technical reason why this isn't possible?

    My phone isn't rooted, so I can't even check logcat.

    submitted by /u/Kallb123
    [link] [comments]

    Width/height for images inline, or in CSS?

    Posted: 09 Feb 2018 03:00 PM PST

    Hi,

    I have a quick question: is it more professional for my <img src="" />'s to have inline width="" and height="", or for them to have class="" and to set the width/height in my CSS?

    I understand some of the differences on a technical level, but I'm just wondering what's more common amongst professional designers before I set all my projects one way.

    Thanks in advance.

    submitted by /u/signinginagain
    [link] [comments]

    Database development: vertical vs. horizontal development

    Posted: 09 Feb 2018 02:56 PM PST

    Which one do you prefer? Vertical or horizontal development? Why?

    Examples:

    vertical id | type | data | user_id 1 | first_name | John | 1 2 | last_name | Doe | 1 horizontal id | first_name | last_name 1 | John | Doe 
    submitted by /u/Feral_Heart
    [link] [comments]

    Iso Cube Loader

    Posted: 09 Feb 2018 02:45 PM PST

    Passwordless logins with email / phone based authentication, yay or nay?

    Posted: 09 Feb 2018 02:44 PM PST

    I'm going to be developing a new web app soon and I'm strongly considering not having passwords at all.

    Just email or phone based login links that set a ~1 year cookie so you don't have to worry about it on a day to day basis. It's the pattern where you get emailed a link, and when you click the link, it sets a JWT with a long expiration time.

    Would you be offended by this, or feel good about it?

    The only real use case I can think of for not doing this is some people have cookies disabled which means you'd have to login by email every time you start a session, but surely people in that position know what they are getting into it?

    With password based logins, the lack of cookies is less of an issue because a password manager would fill out the fields, so it would be very fast to get back in.

    On the other hand, the upsides for passwordless logins are pretty huge for most end users.

    P.S., My target audience for this project would be developers and people who are generally into computers and the internet.

    submitted by /u/nickjj_
    [link] [comments]

    Too many options, can use some direction

    Posted: 09 Feb 2018 02:28 PM PST

    New to REST APIs, but having good success. I'm building an add-on for an ERP that is accessible with a REST API. Get orders from an e-commerce portal , Put orders into ERP. I can get orders all day, via Postman, Excel Power Query, etc. I've put orders into the ERP as well, through Postman.

    What's the best piece in the middle of the two operations? A Visual Studio desktop app? Something hosted? Any simple mapping frameworks? I can go either way, but I basically want an ETL that can work with two different APIs.

    Thinking steps would be:
    * GET order (json, xml, whatever)
    * do some transforms (where, and with what tool?)
    * PUT/POST the order into the ERP

    Apologies if the question is too broad-based

    edit:for formatting

    submitted by /u/maz356
    [link] [comments]

    Coding Motivation

    Posted: 09 Feb 2018 02:18 PM PST

    Hey to all. I just want to know what keeps your motivation to code every day? When i lose motivation, i just leave my computer for a couple of day, and I'm not interested about peogramming at all.

    submitted by /u/NoisiaClasher
    [link] [comments]

    Is developer compensation becoming bimodal?

    Posted: 09 Feb 2018 06:46 AM PST

    Is it possible to iframe part of a page?

    Posted: 09 Feb 2018 02:08 PM PST

    Is it possible to only iframe just the player window of this page? http://www.weather.cod.edu/satrad/exper/?parms=subregional-W_Gulf_Coast-02-48-0-100 Thanks.

    submitted by /u/PoPimp3069
    [link] [comments]

    Shared server lower view numbers?

    Posted: 09 Feb 2018 01:37 PM PST

    I really don't know where to ask, at the moment I have a website hosted on a shared server. I got a great experience with this service, the problem that I'm facing now is: is it possible that I am getting capped views and clicks on the website because I am on a shared server and not a private one? I know that the internal ip of this shared server sometimes changes, so imho this could be the reason why this is happening.

    submitted by /u/Sandros94
    [link] [comments]

    Dumb question.. When a site has 25,000+ lines of JavaScript, how is that being generated? Surely it's not being hand-coded...

    Posted: 09 Feb 2018 01:22 PM PST

    I'm not super inexperienced, I can work some JS magic. But sometimes I'll check out a site and there are THOUSANDS of lines of JS.

    For example, one site I just looked at is using backbone.js (which I am not familiar with) -- so is the developer writing a smaller amount of code with Backbone and it's outputting the extreme JS file?

    submitted by /u/circa7
    [link] [comments]

    Favourite CSS properties - even if unsupported in some browsers?

    Posted: 09 Feb 2018 01:20 PM PST

    I'm currently redesigning my personal website, and I've set myself a challenge. No Javascript can be used until the website is "complete" - i.e. HTML, CSS, PHP, etc. to build the entire site, and all of it's main functionality, Javascript will only be there to aide/add things which are not necessary (e.g. chatrooms)

    In doing this, I've come to use many CSS properties I've not had to before, and use them in weird and wonderful ways, and in doing so found a few new friends when styling a site.

    • Flex: Until a few months ago I didn't know this magical display property existed, and being able to replace jQuery MatchHeight with flex, and align items is amazing.

    • Scroll snappoints: I have yet to implement this fully yet, because I am waiting for Chrome to support it out of the dev environment. But making CSS only sliders using this, and keyframe animations is a great replacement for things like OwlCarousel. Sure, not having the nice fancy "skip to <slide>" buttons aren't there... but it's got a scrollbar which snaps to each slide, so why bother?

    • Mix-blend-mode: Overlays just got a lot more beautiful! Having to debug why "images were going missing" whilst at work, only to find it was due to IE not supporting this, was a real head scratcher, as I had never heard of this property before. But by god has it made the bland overlays I had before go from being just that, to an image/video enhancer.

    These have to be my top 3 "CSS properties which changed the way I build components" (using CSS only). So I was curious what the people of /r/webdev find most useful, or have some great use cases for something quirky someone who doesn't focus on the front-end as much would even have heard of.

    submitted by /u/jordsta95
    [link] [comments]

    How can I test a websites speed independent of the computer I'm running it on? (More info below)

    Posted: 09 Feb 2018 08:46 AM PST

    A "Big Box" store recently released an online portal for their company and it's vendors to run their entire workflow through (e.g. update customer info, share documents, schedule, etc.). Aside from the design / interface / "ease of use" being absolute garbage quality, the site runs at dial up internet speed. Sometimes documents don't load, links don't register, information is entered and disappears. How can I show this LARGE company that there website is negatively affecting all parties involved, especially the customer?

    submitted by /u/JUGGLING_LIFE
    [link] [comments]

    Need client reviewing tool.

    Posted: 09 Feb 2018 08:10 AM PST

    I'm looking for some tool that will allow my client to edit/comment/markup the testing site with changes that have been made. I've been looking for too long and can't seem to find anything.

    Any recommendation on how you go through client reviews would be great. I'm tired of the whole "email me the corrections" type of approach.

    submitted by /u/McLickin
    [link] [comments]

    Building web based vision detection to redirect to URL

    Posted: 09 Feb 2018 11:55 AM PST

    I've tested tesseract.js and some other OCR, but it wasn't accurate enough / took extremely long to process. I've been looking at Google Vision API and some other Machine Vision but it seems all use cases are for image uploads and I can't find any examples of getting the data through a camera stream. Anyone can recommend a library or blog etc that I can check out? Goal is to scan over something and launch a page. Like QR codes in a mobile browser except we dictate what the QR is/looks like.

    submitted by /u/dmeow
    [link] [comments]

    How would a data scientist fit in at a web / app development consulting agency?

    Posted: 09 Feb 2018 04:13 AM PST

    Many college graduates now seem to have been very interested in data science and big data lately that we see at our web and mobile app development consulting agency. What are things data scientists can do in this environment? How can data science and big data stuff be useful to client work?

    submitted by /u/xueye
    [link] [comments]

    Can someone explain to me imports and how they work in Webpack?

    Posted: 09 Feb 2018 11:04 AM PST

    I want to bundle multiple JavaScript files into one single JS file.

    My folder structure is like so:

    -app ----js ----scripts.js --------modules --------------script1.js --------------script2.js --------------script3.js --------------script4.js

    My scripts.js file looks like this:

    import {script1} from './modules/script1'; import {script2} from './modules/script2'; import {script3} from './modules/script3'; import {script4} from './modules/script4'; 

    I'm using Webpack in conjunction with Gulp. Those look like this:

    Gulp:

    gulp.task('scripts', function() { gulp.src('app/js/script.js') .pipe(webpack(require('./webpack.config.js'))) .pipe(uglify()) .pipe(gulp.dest('public/javascripts')) .pipe(livereload()); }); 

    Webpack:

    var debug = false; var path = require('path'); var webpack = require('webpack'); var BundleAnalyzerPlugin = require('webpack-bundle- analyzer').BundleAnalyzerPlugin; module.exports = { context: __dirname, // entry is already defined in gulpfile.js - leave this line commented out. // entry: "/app/js/script.js", devtool: debug ? "inline-sourcemap" : null, module: { rules: [{ test: /\.js$/, use: 'babel-loader' }], loaders: [ { test: /\.jsx?$/, loader: 'babel-loader', query :{ presets:['es2015'] }, exclude: /node_modules/ } ] }, resolve: { root: [path.resolve(__dirname, 'client'), path.resolve(__dirname, 'node_modules')], extensions: ['', '.js'] }, output: { path: __dirname + "public/javascripts", filename: "scripts.min.js" }, plugins: debug ? [] : [ // new webpack.optimize.DedupePlugin(), // new webpack.optimize.OccurenceOrderPlugin(), new webpack.optimize.UglifyJsPlugin({ minimize: true, mangle: true }), // new BundleAnalyzerPlugin() ], }; 

    In those modules, it's mostly just jQuery code. So an example of what those look like would be:

    var $ = require('jquery'); $(function() { console.log(activeItemPosLeft + ", " + activeItemPosRight) $(".nav").scrollLeft(activeItemPosLeft = activeItemPosRight); }); 

    With all that said, I can't figure out/I don't understand how to conactenate all the includes into one single file because none of my code in the partials is running.

    I looked at import docs but I didn't understand it. I tried:

    import * as myModule from '/modules/script1'; 

    That as well, as I was under the impression that it imported all file contents. But that doesn't seem to be the case.

    Any help, ideas or links to youtube tutorials would be greatly appreciated.

    submitted by /u/kawnah
    [link] [comments]

    How do you clear the console's cache in Chrome DevTools?

    Posted: 09 Feb 2018 06:04 AM PST

    How big is the skills gap between working on websites and apps for local small clients, and applications that need to scale to millions of daily users?

    Posted: 08 Feb 2018 04:13 PM PST

    Any web devs here who work or have worked in companies that make software products that need to handle tons of daily activity, I'd like your input. Whether it's the website for a large national bank, large e-commerce store or even AWS products themselves. How different is it from doing websites for smaller clients that have a reach of only a couple hundred to a couple thousand of people daily?

    Because I have come to the conclusion that I'm slacking in my career and I cannot find a job that lets you break out of that loop. I previously had the perception that I've been growing in my career but that turns out not to be the case.

    The common criticism that I get from people from looking at my work experience is, there's no apparent career growth. There's nothing that I've done that show I can build something scalable. For some reason, software scaling seems to be a big deal about career growth in this industry. And to be fair everything I've worked on can literally run on a laptop. They're all CMS websites or web applications that have hundreds of visitors daily, max. I'm not building mega products.

    And few have even suggested to remove the number amounts from my resume, because they're not doing me any favors. I put them there, thinking my recent projects are very large, but the reality is I only thought they were large, when in fact they are still on the small side.

    So what's a guy who's been code monkey-ing for CMS websites and JavaScript apps supposed to do? I only fix bugs, solve tickets, make the PM happy and that's it. I don't know what it takes to get hired by a bigger company that does large scale apps. Or how to learn scalability and stuff to impress them at a job interview. How big is the skills gap? How steep is the hill I have to climb?

    submitted by /u/welpImASlacker
    [link] [comments]

    No comments:

    Post a Comment