I’m India since mid-December. I left behind France, the cold but also all the duties of the house. This makes me much more focused on learning, writing and experimenting new ideas. Beside that, I enjoy the spicy food, the tea, morning yoga lessons (5AM!) and long walks under the sun.
PS: Links to tweets don’t work, I’ll fix this asap.
Funnel: Landing page and ConvertFox
I want to create a new landing page to build a mailing list of tweeps interested in my projects.
A link I could share at once to reply to requests like this one
I wish to reuse for that the lifelong ConvertFox account I bought. The idea of having a mailing list with tags I can sort and send sequences of email seduces me. I love the idea of being able to have a chat on the site and engage with visitors in a lightweight mode.
As this post says: the future of writing good posts is to know what people want to learn from me. Asking questions is a good way to start.
Also I wish to have smaller posts heavily linked with a lightning fast change of pages. WordPress requires a round trip to the server, this is too slow. The future is static sites distributed on CDNs with prefetching and client side interactivity. See the PRPL pattern.
I came across the gatsby project. Gatsby will fetch your blog from a WordPress site and publish it statically on the cloud (see mine here).
– It reuses WordPress as a CMS. I can continue to use WP for editing, organizing my content.
– It’s written in nodejs, with GraphQL, React all the technologies that I wish to master, double gain.
– I can write my templates in js and reuse some patterns from the apps. This means less work, more unformity across the experience.
Extra bonus the gatsby group is open, supportive and working out loud.
I’m now blocked by the fact that kneaver.com is large, this cause some new requirements. I’ll put gatsby on the backburner for now and resume writing on WordPress.
Resume work on gatsby
Fix wordpress wp-json paging issue
Install identify with ConvertFox
Ask questions on blog using ConvertFox
I wish to add more content on kneaver.com and reorganize it.
Each post should bring value to the reader and contribute to sell my products. I’m writing to bring revenues, it’s clear.
Being though provoking but not person provoking. I’m disrupting a field but I don’t want to get into religion wars. Anyway, they are not my target.
Removing old content, refactoring the best pieces.
Leaner UX, fewer bells, and whistles. Medium stays a good example.
Optimize my toolchain for writing/editing. So far I start on HemingwayApp, edit on grammarly, publish on WordPress.
Practice writing, like a blog post per day. I’m not going to publish everything but the practice will be established and I’ll write faster.
Draw a map of my content. Share with #PKMChat group to find convergences.
My plan is to make the most React. Facebook introduced this in 2016. It lets create powerful web applications. Facebook, Airbnb, Twitter, WordPress are all building project on React. My goal in 2017 for my new apps was to make them very attractive, very fast and available everywhere. This is what React brings. I spent 2017 experimenting, trying ideas and I was almost ready to start. I had two last experiments to do.
The project is back on track. It was dormant since April. It was going very slowly as I lacked a lot of new skills. Personal goals distracted me: A succession, two moves, upgrading my house, and preparing my trip. Meanwhile, I enrolled in many courses and learned a lot. In September I moved to MacOSX and productivity felt to zero. I had to relearn everything. Being back on track is not a minor accomplishment.
The components have been upgraded to the latest version: node, electron but also React 16.0.
The project works now as a service with a web interface or standalone on desktop with electron.
Oh yes and of course I forgot to say that everything is now working both on MacOSX and Windows. Not a minor change.
Sketch GUI of the main screen with a renewed importance placed on UX. my creativity has been expanded since I master UX basics and React capabilities.
The architecture of the back end: using GraphQL, docker.
Preparing the first prototype for the end of January.
React can also be used to build native apps for Android and IOS. the same code bor both and reusing most of the code from the web app. The Dream of every coder becoming reality.
I have now a Mac with all the latest tools. It was time to try. I installed react native and all the toolchain from Apple (XCode) and the toolchain for Android.
I took this short course to ramp up my capability. Egghead.io is my friend this year. Best techs demonstrated by their authors in a few minutes. Very microlearning, WOL oriented.
I was able to design a small app and have it running both on IOS and Android simulators in one day.
– The code is shared at 95%. That’s a huge productivity boost.
– It’s very nice and sweet. easy to translate design ideas into code.
– The client back end (redux, logic) is 100% compatible with what I have already done. So it’s really about designing a UX for mobile, not rewriting everything.
I’m happy with the current stage and place in my long-term bucket. I know now where I’m going. I learned what I should take care of to preserve options. I’m not going to work on the native app yet.
- Keep ideating UX experience with sketches on index cards.
- Explore ways to reuse more of the UX components between Web and Native. React-native-web library was done by @Necolas, but I’m half convinced. Microsoft did one too.
GraphQL is the component connecting the back-end database and the front-end UX. It’s the pipeline to use to fetch data, update it and keep it current. It replaces the REST API pattern en vogue in 2015. REST API turned out being rigid. It forces constant changes of versions between client and server when the UX is changed.
My plan was to learn GraphQL in March but I faced an immediate need for the Gatsby experiment. I was unable to understand the queries and adapt them. My first temptation was to let it go as planned. I realized I had a short course available on Egghead.io, a course I already downloaded. I changed my mind. I though: Let’s watch the course and see how it goes from there. Since I lacked sleep, watching a course was a good option to make the best use of my time.
After an hour, I learned enough to fix my gatsby queries and finalize the test on kneaver.com. That was a motivating win.
I decided to stretch it further
I spent a day rewriting the Open-xAPI-LRS I made in 2015 using GraphQL.
I was able to write the structure quickly.
A http front end kneaver-lrs-srv. That’s what is serving the URI http://localhost:3000/graphql . I’m using express and express-graphql. I made a route I can reuse in a larger server.
A database component: kneaver-lrs-api. This is what serves the GraphQL schema and the xAPI API and interface with the PostgreSQL. As per the earlier project I have alternative implementations :
Proxying to another LRS.
I pushed everything to github. I would like to experiment kubernetes with this. A database component, several instances of the LRS, a load balancing component. Normally, I should be able to scale easily the LRS for the learning-cards to serve thousands of users concurrently. That’s the promise of the Twelve-factor Apps.
I use this project to practice this.
I built the schema for xAPI. This is not straightforward as xAPI was not done for that. I’ll have to dig deeper here.
Finalize PostgreSQL interface
Explore possibilities to have GraphQL-relay manage grouped statements using IDs.
Explore possibilities to do complex queries not possible in REST API.
Make docker images
Test on Kubernetes
Extend schema to encompass all forms of statements
Sketch Admin GUI on top of GraphQL using a template I bought.
Integrate into learning-cards-srv.
I wish to aim at using best practices in Devops. My wish to have the future apps able to scale smoothly on the cloud, up to thousands of servers if need.
I still have the launch of Kneaver Twitter chat app in my mind. The App was great. I sent invites during a chat in 2015. I got plenty of people jumping in the same minute. Hundreds manybe, tons of influencers. The server crashed, people abandoned at once.
For the Learning-cards I will use Docker and Kubernetes. I have it installed in AWS and Digital Ocean. With Kubernetes you don’t start or create servers. You describe what you need and kubernetes takes care of adjusting the infrastructure and keep it running. There are load balancers, private networks, proxies built-in. It’s a huge infrastructure available at no cost I couldn’t have dreamed off 2 years ago.
Part of the process is also doing a better use of git, github.com. I have now an account there where I can manage private repositories. I use private repositories for work in progress because I don’t know yet what will be open sourced or not.
I took the complete course on Udemy for Kubernetes earlier in November. Udemy courses tend to be longer and more detailed than Egghead.io. On Egghead.io it’s emergent techs directly from the creators. I bought a yearly all you can eat plan on Egghead.io
Today I maintain 4 servers.
A Web server for kneaver.com
The Twitter chat recorder, not working since November.
A last kneaver instance for #PKMChat, not operational
A backup server
I upgraded all the certificates for the next 3 years. It’s a cumbersome process. It’s best to do it rarely and forget it meanwhile. I wrote job aids for the next time.
What I’m reading
I’m in India. It’s natural that I found a book on the early teachings of Buddha. Buddha before Buddhism. It’s a commented translation of 16 poems. I liked the care the author takes to avoid mixing religion and wisdom.
I’m always craving to read more, away from any devices. The Though Leadership Manual got my attention. I was curious to learn more on this strategy, to find a good positioning.
What else am I doing
I worked on my plans for 2018. I drew a vision board following a course of @DianeBleck ($27). I have a now a colorful book of inspiring pictures. I’ll use it as my compass for 2018. It will remind me what is important, why I’m doing all this.
I bought @rebekahRadice framework ($7) for writing my business goals. I’m now filling that.
That’s all folks
Previous post ( in category ) Next post ( in category )