Category Archives: Shared Articles

Spend less time perfecting and more time evolving


Spend less time perfecting and more time evolving

A case study in how “almost-finished” is better than never finished.


While we were redesigning our web app for Trading Paints last year, we took our time. We told ourselves the update wouldn’t go live until we had reached 100% perfection — after all, this launch would directly set the tone for our long-term future, and we’d only have one shot at introducing our new set of features.

Our well-intentioned mindset of perfectionism turned what should have been a small evolution into an astoundingly lengthy two-year redesign process (in Internet years, that’s practically a decade).

In those two years, we went through three different design and feature concepts, scrapping the first two iterations entirely and landing on a third. We threw away a lot of time and effort getting to Concept Three. Through all this, I thought I was going to scare away our lead programmer, who had to do a lot of re-work over that time.

The lesson we learned was that “good enough”, despite what others had always told us, is OK — that is, as long as you commit to evolving your product once you’ve shipped it.

It’s getting to the “shipped” status that’s the important part.

Our two scrapped redesigns would have been major improvements over our 2009-built Web 2.0 mess we set out to replace. Because of our Perfectionist’s Disease (well, stubbornness, really), our users had to deal with an icky, outdated, inefficient web app for two years longer than they should have.

It’s more important to ship a product in the first place than it is to ship a perfect product. Chances are, most of your audience won’t realize something nearly finished isn’t actually completely finished in your mind.

In our case at Trading Paints, our audience would have been delighted by any of the “imperfect” designs or features we built but didn’t release.

Eventually, at a certain point in our magical third concept, we shifted our focus to getting the damn thing out the door, promising ourselves we’d improve once we were live. This shift in our thinking led to a quicker launch, an end to two-years of wheel-spinning, and 25,000 happier users.


Self-proclaimed perfectionist Sean McCabe suggests curing perfectionism by aiming for 90%. This is solid advice for someone dealing with Perfectionist’s Disease.

Using McCabe’s 90% model, you shouldn’t spend so much time trying to perfect the last 10% when you can instead ship at 90% and evolve once you’ve reached that point. In our case, we had the opportunity to evolve and improve after we launched our redesign. In the case of a designer or developer doing project-based client work, evolving means aiming for the 90% mark and improving in your next attempt. If you’re a perfectionist, it’s awfully likely that 90% in your mind is 100% in other people’s minds.


We eventually launched the new Trading Paints earlier this year, still perfecting things and evolving features as days go on. Even after releasing an “almost-finished” product, our users have been delighted by the updates and pleasantly surprised when we drop in new features that we once swore we couldn’t launch without.

Our only wish is that we’d have stopped trying to be perfect two years sooner.


Note: This advice does not apply to brain surgeons.

This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.

رونویسی از حیرانی‌ها – 34

دو

در سر
سه خیال داشتم
مثل درختی
که در خود
سه زاغچه دارد
---------------

چهار 

یک مرد و یک زن
یک وحدت
یک مرد، یک زن، و یک زاغچه
همچنان یک وحدت
------------------

هفت

آی
مردان باریک اندام حدامی
از چه روی پرندگانی زرین‌بال
اندیشه می‌کنید
مگر آن زاغچه را نمی‌بینید
که در حوالی همسران‌تان
پرسه می‌زند
---------------

هشت 

الفاظ فاخر بسیار می‌دانم
و اوزان زلال فراموش ناشدنی
و این را نیز می‌دانم
که زاغچه سهیم است
در آنچه که می‌دانم
-----------------

نه

هنگامی که زاغچه پر گشود
جدار دایره‌ای را
از دوایر بسیار
شیار زد
-----------------

دوازده 

رودخانه‌ای در گذر است
زاغچه‌ای باید
به پرواز در آمده باشد
--------------------


از:
سیزده شیوه نگریستن به زاغچه
والاس استیونس
ترجمه: عباس صفاری

کافه

از کافه بیرون آمدم

کافه انتهای یک خیابان نشسته بود

کافه را با خودم نبردم

کافه در انتهای یک خیابان تنها ماند

سال‌ها گذشت

به کافه برگشتم

کافه انتهای خیابان نبود

خیابان نبود

هیچ نبود.

پیش‌ترها

پیش‌ترها

حرف‌هایم بهتر درک می‌شد

این روزها وقتی می‌گویم

می‌خواهم با یک سرخپوست مرده درد دل کنم

بقیه می‌خندند

وقتی می‌گویم یکبار این کار را انجام دادم

سرخپوست مرده حرف‌های مرا شنید

و بهترین حرف‌ها را به من زد

همه تعجب می‌کنند

فقط

این روزها

سخت می‌شود سرخپوست مرده پیدا کرد.

Create an app Firefox OS


Create an app Firefox OS

The garden of Eden for Front end developers


Few weeks ago, I went to @lxjs conference which was great. Soledad Penadés explained me the vision of Firefox OS, and I found it exciting.

Screenshot of my simulator

After ten days, I started to work on creating an app for this system on my free time. I needed a simple but useful idea for me: a Buffer client for Firefox OS.

Before I started to develop with a library or system, I like to read their documentation. On that point, Firefox OS has the advantage of the documenting spirit of Mozilla: detailed in different languages and examples https://developer.mozilla.org/en-US/Firefox_OS.

Preparation

Now time to develop this app! I setup a front-end project like I’m used to doing it: NPM, Bower, Gulp.

I chose AngularJS, but promise, I will try Polymer or React in the next one. I could use Ionic Framework for the UI, but I wanted to try the Gaia interface. Have a look there: http://buildingfirefoxos.com/index.html

What is truly good with Firefox OS, it’s the fact they’re using the same libraries as third-party developers to make the system: UI elements, transitions, etc. The code of the default apps is open source too. So you can get inspiration by looking at it: https://github.com/mozilla-b2g/gaia

The only difference with a website is the app manifest: https://developer.mozilla.org/en-US/Apps/Build/Manifest. It’s not that different from a Google Chrome App’s manifest. You have to set the permissions, icon files. Good point, you need to describe the need of each permission. It will help the user to understand what he allows. No more bullshit permissions for games, yeah!

You have three types of app:

  • Hosted: The app is hosted online. Limited access to the APIs
  • Privileged: The common one in mobile. Mix between the others.
  • Certified: Access to sensible APIs like manage the WIFI, monitor the networks. The system apps have this status.

You can check the list of permissions here: https://developer.mozilla.org/en-US/Apps/Build/App_permissions

Good point, the user can change the permissions of the app even after the installation. The spirit of Firefox OS is focused on the transparency of the system, letting the power to the user. I’m fond of the concept! So you need always to check if the permission is granted before making a call to the API.
If you root your Android phone, I think you can do it too but it’s a hack, some apps may be buggy, and I don’t even talk about the closed-mind spirit of iOS…

The Dev tools of Firefox OS 1.3 can’t debug network requests while Firefox OS 2.0 yes. So I decided to work only on my browser until I need a device-specific API.

Simple Python HTTP server

I didn’t use file:/// because you can set the origin property in the manifest. It will look like app://my-app.com. Useful for origin problems.

Redirector extension

It simulates the redirect property of app manifest. This property allows you to have an automatic redirection from a page to another inside your app. It’s much simpler to use that instead of having an in-app browser for OAuth authentication.

CORS proxy

Firefox doesn’t have a security flag like Canary, so you need to bypass the checking of CORS by doing that if the API used doesn’t provide it. Remember it’s only on desktop. In Firefox OS, you have this permission: systemXHR (https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#mozSystem)

Notification

Local notifications are the same as the one defined in the specs of HTML5. For the APIs which aren’t specific to the device, you can test them directly on your desktop. Sometimes, you’ll need to the nightly version. It wasn’t the case for me on this app.

Web Activity

This API allows you to delegate an activity to another. It’s the Intents of Android. I played a little bit with the simulator, and it’s easy to use. It’s well described here: https://developer.mozilla.org/en-US/docs/Web/API/Web_Activities

User Interface


Screenshot of the email app

As written earlier, all the UI elements of the system are open-sourced. You can custom them with CSS. Follow the guidelines to have an app well integrated: https://www.mozilla.org/en-US/styleguide/products/firefox-os/

I had some frustrations due to the lack of examples and uniformization of design elements (the icons of the header aren’t the same as the edit ones) but it will be improved.

I didn’t play enough with transitions due to the lack of time that I had but so far I tested; it’s easy to add them in your app. They look smoothed in the simulator. I will try on my soon-coming Firefox Flame.

Open System, Open services

The team of Mozilla is known by always open source their code. All the Firefox OS system is available online. But it is interesting to know they open sourced the code of the marketplace and the push server.

You can put your app in the default marketplace or another one, you’re free. You can set a whitelist of marketplaces in the manifest of your app. Android allows that too, but you need to enable the unknown sources. It’s not safe and hard for not advanced users to do it.

The push system is intelligent too. You wake up your app by sending a simple request. No title, description or sound. It’s like the silent notifications in iOS. The main advantage is to avoid sending sensitive data to Mozilla servers. We can trust them but to they can be compromised by a cracker (or the NSA). You can set a version property which is a number that keeps increasing. Your backend tells the Mozilla servers about a new version whenever it wants an App to be notified.

You can read more about it here:


My App

I didn’t describe in details the development of my app because the process was the same as a Single Page Application. The code is available here: https://github.com/yrezgui/buffer-firefoxos

If you have any questions, feel free to contact me: http://www.yrezgui.com

Screenshot of my app

Conclusion

I just loved to create an app for Firefox OS. I rediscovered the excitement that I got when I developed Firefox and Chrome extensions. The simulator debugger still need to be improved (a right-click on an element doesn’t display the options of the desktop one), the UI library is nearly done but the system is ready. I developed for Firefox 1.3, but version 2.0 is already available in beta.

Bonus point, the simulator, doesn’t take ten minutes to open as the Android one, and you don’t need to wait your app to be loaded to open the inspector like iOS. You can catch easier the errors at the loading.

The philosophy of having a complete open source system, default open source apps, manageable permissions for each app is the right way to do mobile OS. But it doesn’t mean the system needs to look ugly, or it’s hard to use it (I’m looking at you MeeGo!). Creating apps is starting to be cool again, so rush for it ☺

This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.

از رنجی که میبریم…

آن سالهایی که برای کنکور می خواندم، در تصوراتم از روانشناسی، خودم را در اتاقی می دیدم در طبقات بالایی آپارتمانی در یکی از خیابان های پر تردد شهر، که پنجره هایش رو به خیابان و پیاده رو ها باز می شود. همیشه در خیالاتم فرد افسرده ای را می دیدم که به من مراجعه کرده و از ناامیدی هایش می گوید و من هم پس از کمی گفتگو بلند می شدم و قهوه ای می ریختم و بهش می دادم و خودم هم با فنجان قهوه ام به سمت پنجره می رفتم و پرده را کنار می کشیدم و به بیرون نگاه می کردم و از مراجع هم درخواست می کردم که با من به بیرون نگاه کند. به مردمی که بی تفاوت در حال و رفت و آمد هستند. مردمی که بعضی شان عجله دارند و بعضی شان آهسته راه می روند، بعضی ها تنها و بعضی ها با همراه، بعضی هایشان پیر هستند و بعضی جوان و خردسال، دست بعضی ها در جیب و دست بعضی ها در دست دیگری، بعضی شان می خندند و بعضی شان در فکر فرو رفته اند. آنوقت رو به مراجع می کردم و می گفتم؛ ببین! زندگی همین است، همین آدمهایی که بی تفاوت به من و تو در حال گذر هستند.
حالا چند سال است که درمان می کنم و هیچ وقت، هیچ مراجعی را به سمت پنجره نبرده ام تا آدمها را نگاه کند و بفهمد که زندگی همین است، اتفاقاً اتاق های درمانم همیشه رو به پیاده رو باز می شوند و می شود از آنجا آدمها را دید که بی تفاوت به ما، این سو و آن سو می روند. فلسفه ی آن خیالات درست بودند، اینکه زندگی بدون ذره ای اهمیت به ما در جریان است، چه ما خوشحال باشیم و چه غمگین، چه تنها باشیم و چه با همراه، چه پیر باشیم و چه جوان. به واقع این واقعیت بی رحم دنیای ماست که بی هیچ توجهی به ما روز را به شب می رساند و شب را به روز، فصل ها را عوض می کند و بهار را زمستان. و حتی آنقدر می تواند بی رحم باشد که روزی زمین دهان باز کند و خواب هزاران نفر را آشفته کند و ما آنقدر در این پهنای گسترده ریز هستیم که عملاً به حساب نمی آییم.
آدم هایی که در پیاده روهای خیالی افکار من زندگی می کردند، می توانستند به درمانجوی خیالی من کمک کنند، ولی حالا به این فکر می کنم که دنبال دلایل بیرونی برای زندگی گشتن، تلاش بیهوده ای است و راه به جایی نمی برد. شاید حالا ترجیح می دهم مراجع را به درونش هدایت کنم و با پیاده روهای درونش آشنا کنم، آنجایی که غم وجود دارد و شادی، آنجا که می تواند فصل های زندگی اش را خودش به دست گیرد، آنجا که می تواند تابستان زندگی اش را زمستان کند یا پاییز را بهار، آنجا که می تواند با تنهایی ها و بیهوده گی هایش روبرو شود، آنجا که زندگی واقعی با تمام دلهره ها و اضطراب هایش جریان دارد.
حالا فکر می کنم، هر وقت آدمها مسئولیت گرفتاری های زندگی شان را پذیرفتند، و معنایی برای همین رنجی که از زندگی می کشند پیدا کردند، زندگی شان بهبود پیدا می کند و این تجویزهای بیرونی دردی را دوا نمی کند.

منبع :وبلاگ اگزیستانسیالیسم/ روان درمانی، فلسفه

نویسنده:غلامرضا میناخانی

 

I’m on drugs

 فقط پاییز نیست. دارو هم می خورم. چقدر همه ی عمرم فکر کردم هیچ مشکل ذهنی و روانی با روانکاو و روان شناس و گروه درمانی حل نمی شه؟  چقدر به همه ی دوستای داخل ایران و ایرانی م که روانکاو و روان شناس دارند- که کم هم نیستند-  گفتم این ها همه ادای روشنفکریه؟ احتمالن هنوز یه قدم خیلی کوچک مانده تا به اون جا برسم که قبول کنم این ها ادای روشن فکری نیست اما فعلن به مرحله ای رسیدم که مطمئنم دارو نتیجه می ده. روان پزشکی از لیست اداهای روشن فکر حذف شده. هیچ وقت توی زندگی م نتونستم تمرکز کنم، و این جدید نیست، تمام سالهای ابتدایی مامانم آمد مدرسه معلم ها گفتند خیلی وول می خوره و حواسش پرته.  بعد فکر کردن شاید چون درسها رو بلدم حواس پرتم، این شد که وادرام کردن به تابستان ها هم درس خوندن تا از روی کلاسها بپرم. تابستان هم حواس پرت بودم، شهریوری که قرار بود کلاس دوم رو امتحان بدم صبح روز امتحان املا مامانم ازم املا گرفت، شدم منهای بیست و پنج. املا می گفتند گوش نمی کردم و به جای این که دقیقن همون کلمات رو بنویسم مضمون کلی رو می نوشتم. می گفتند کلمه، می نوشتم واژه یا بر عکس. می گفتند با سرعت، می نوشتم سریع. فقط مامانم شانس آورد که املای بچه ی دوم ابتدایی نیم صفحه است و نه پنج صفحه.  بقیه سالهای مدرسه و دانشگاه هم همین بود، بعدها توی اروپا دیگه خودم خیلی سر حواس پرتی سر کلاسهای دانشگاه سرزنش نکردم، عادت کرده بودم. تنها چیزی که می تونست باعث بشه تمرکز کنم کتاب خوندن بود، رمان. هیچ وقت نتونستم یه فیلم یک و نیم ساعته رو خودم ببینم بدونی این که بیست بار عقب و جلو بزنم. توی سینما و تئاتر نشستن برام عذاب بود وقتی از نیم ساعت می گذشت.  نمی تونستم  تمرکز کنم و این باعث می شد کارهام رو نتونم انجام بدم و کار انجام ندادنم باعث استرس م می شد و استرسم از یه حدی که می گذشت شبیه دیوانه هام می کرد. 

حالا حالم خیلی خوبه. می تونیم به پاییز هم ربطش بدیم، اما خودم می دونم که فرق می کنه. این که آدم احساس کنه که روی ذهنش کنترل داره  خیلی حس خوبیه. فکر می کنی روی جهان کنترل داری، و این برای آدمهای کنترل فریک خیلی مساله ی مهمیه. می دونی هیچ چیزی مهم تر از ذهنت برای کنترل کردن وجود نداره. بعد چون چیزی به این مهمی سر جاشه، دیگه چیزهای کوچیک خیلی اذیتت نمی کنه. همکارم که پنج شش ماهه آمده و از وقتی آمده بود من رو در حال داد زدن سر دیگران، در حال بغض و استرس دیده بود، باورش نمی شه آدمی که از سفر برگشته همون سارای قبلیه. هر بار که می بینه دیگه مثل ترقه نمی پرم با هر تلفنی، و  هر مشکلی که همه رو عصبی می کنه، با من کاری نداره هی می گه ?Are you on drugs Sara 

ازلی – هوشنگ ابتهاج


چو شب به راه تو ماندم که ماه من باشی

چراغ خلوت این عاشق کهن باشی

به سان سبزه پریشان سرگذشت شبم

نیامدی تو که مهتاب این چمن باشی

تو یار خواجه نگشتی به صد هنر، هیهات

که بر مراد دل بی قرار من باشی

تو را به آینه داران چه التفات بود

چنین که شیفته ی حسن خویشتن باشی

دلم ز نازکی خود شکست در غم عشق

وگرنه از تو نیاید که دلشکن باشی

وصال آن لب شیرین به خسروان دادند

تو را نصیب همین بس که کوهکن باشی

ز چاه غصه رهایی نباشدت، هر چند

به حسن یوسف و تدبیر تهمتن باشی

خموش سایه که فریاد بلبل از خامی ست

چو شمع سوخته آن به که بی سخن باشی


Components, the future of HTML development



Components, the future of HTML development



Or why you should stop using a third-party library to deal with your custom UI elements


I recently made a project named Furaito (フライト, flight in Japanese). It’s a simple app that checks your emails to find your last flights. It uses Polymer, Import.io and Gmail API. You can check the demo here and the source code here.

Before I write a blog post about how I built this app, let me explains you web components, the root of Polymer.

As you know, the Web has been continuously evolving, even more these last years because of the need of apps working on every platform, the mobile, the realtime.

So far, CSS evolved with a lot of new styling features in its third version. We created preprocessors to make it easier to develop with it.

JavaScript got its preprocessors, and its sixth version is coming soon (modern browsers have already partial support).

But HTML didn’t really evolve. We have now semantic & multimedia tags, but the way we write them didn’t change and preprocessors don’t help that much. We need a change.

Web Components!

When you develop a complex web app, you know that HTML debugging is painful. The depth of your DOM is damn long, and you don’t want to open all elements again and again in your devtools after each refresh of the page.

So what’s this revolution?
Web components bring four new features to help you writing your HTML in a better way:

Templates

Forget the time when you had to wrap your templates into an ugly scrip tag:

<script type=”text/tpl”>

Now you have a dedicated tag for that.
First benefit, you will have your syntax coloration back in your IDE.
Secondly, even if there are scripts or videos inside, none of them will be executed until the template is used.
Thirdly, the elements inside your template aren’t considered as part of your DOM until you use them. Clean separation.

HTML Import

You hate to add your templates in your views because you have nowhere else to put them? Me too. Now with HTML import, you can import HTML pages where your templates and scripts tags will be written (DRY).

No need to make XHR requests anymore to do lazy-loading. Good point, the browser will request only one time your imported files. So no need of being afraid to duplicate execution of your scripts. You can import from your imported files too. Importception!

Shadow DOM

At first, it was hard for me to understand this feature. Why would I like to have sub DOMs? Well to have a perfect sandbox. As you know, it’s painful to check if your components names don’t collides with externals elements (Facebook Login, Timeline widget, Google Maps, etc.).

With Shadow DOM, you can do whatever you want inside your component, it will not impact the parent DOM.
Good news, the CSS is sandboxed too, there aren’t id collisions. Yeah, no need to write very long unique id or class!

Custom Elements

The last but not least feature of web components. In AngularJS, you will use directives to create your own elements. So what’s the difference with Custom Elements? Instead having a library dealing with personalized elements, you can have them recognized directly by the browser engine!

They have their own prototype, methods, properties, lifecycle callbacks (element created, attached, detached, attributes changed). Isn’t that cool ☺ ?


In conclusion, Web Components are a much cleaner way to create HTML UI elements. They are sandboxed, importables, clonables in your templates and have their own logic. No need to have an external script to manage them. Their support isn’t still complete, but there are already polyfills (scripts which provide facilities that aren’t built into old browsers).

I’m going to talk more about Polymer in my next article but if you can’t wait, you have to know that it is made on top of web components with a lot of sugar: two-way data binding, bunch of logic & UI components (which can be reused in your components, that’s the point), template syntax a la AngularJS, etc.

Have a look to the talk of Addy Osmani at LXJS, which resumes well these technologies : http://addyosmani.com/blog/video-componentize-the-web-talk-from-lxjs/

This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.

Desktop apps are back, thanks to the Web !


Desktop apps are back, thanks to the Web !


HTML5 makes sense in Mobile apps. So why not in Desktop too ?


Poor desktop. Because of the smartphones, tablets and now the watches, all the studies predict its approaching death. But I think they’re wrong.

Of course, the desktop hasn’t the monopoly anymore, but I still think tablets and smartphones are extra units, of course with a lot of features, but you can’t really work on it. You can write your notes on them, but you’ll always want to finish on your laptop for styling, spelling correction, search easier references, etc.

But I’m not going to talk about desktop usage market share but its new apps. Cross platform apps are the dream of every developer.


Using Eclipse UI system was never a good idea: slow, heavy and ugly

Java was the first try, not that successful unfortunately. There are apps but making a UI with Java is honestly not that easy.


Don’t laugh, it was a sexy UI back in time

Adobe came with AIR, which was a good idea but maybe too early on its time and wrong technologies. The HTML support was good, but only Flash, Flex apps had a deep integration with the system. Plus using an extra plugin was painful for everyone.

But now it’s different

Pocket Chrome packaged app

The first one to innovate was Google with its packaged apps (I need to write an entire post about it). They need Google Chrome to be installed but can run separately. Good point, they work on Chromebooks.

Mozilla Firefox made a similar solution with a deeper integration of the browser, and nice idea, the APIs (not all of them) and manifest are the same as Firefox OS apps


I don’t know about Opera and Internet Explorer, and I will not even talk about Safari (honestly Apple is the new Microsoft in terms of evolving the web). They have extensions, but I don’t think they have a similar feature.

But for different reasons, you might prefer to have a standalone app. There are two ways to do that:

Native webview

Mention app, using native Safari webview in Mac

This solution is limited to Mac & Windows 8. You can have a deep UI integration. In Mac, you have to write some Objective-C for that while Windows 8 has a native HTML5 interface (well done guys !). Your code doesn’t need to have a lot of changes if you already have a unique interface. Otherwise, you can still share the logic between the platforms, which represents the big part of your code.


Chromium Embedded

A database related app that I’m working on using Node-Webkit

This solution is better for a real cross-platform. It uses an embedded Chromium webview, so no need to install Google Chrome. It has a support on Windows, Mac & Linux. There are different implementations, but the most famous one is Node Webkit by Roger Wang.

It’s a special webview, packing NodeJS inside. You can use node modules inside your HTML page! It includes a native UI package too:

 <script>
var nw = require(‘nw.gui’);
var win = nw.Window.get();
var nativeMenuBar = new nw.Menu({ type: ‘menubar’ });
 nativeMenuBar.createMacBuiltin(‘Jōto’);
win.menu = nativeMenuBar;
</script>

There are two huge advantages. You can install packages directly from NPM, and you don’t have to write native code to get a UI system integration.

Have a look to Roger’s talk at LXJS conference:

Examples

Have a look to these beautiful apps made with HTML5.
You don’t have an excuse to don’t code your desktop app using another technology anymore ☺.

If you have other examples with screenshot, feel free to write a comment to help me update the list.

Sunrise, the Calendar app that everyone was waiting for !
Aircall VOIP team-oriented app
Slack messaging app
Atom editor from GitHub

This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.

“The world doesn’t need another blogging platform. But I did.”


“The world doesn’t need another blogging platform. But I did.”


This morning, Drew Wilson launched his new blogging platform, Buffalo. As someone who sees dozens of new products every day, I immediately drew connections to Medium, Svbtle, Tumblr, and others that no longer exist. Playing devil’s advocate, I asked:

Do we need another blogging platform?

Humbly and thoughtfully, Drew replied with:

Perfect response. ☺

It’s a good reminder that not everything needs to be a business and that it’s OK to simply build for yourself.

I’m sick of armchair entrepreneurs, judging others for simply building. Would you criticize the 16-year-old banging on the drums in his parents’ garage? The music might sound terrible but he’s learning and even more importantly, trying.

Thanks, Drew.

This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.

معلم های خوب شهر

مدرسه فراخوان داده بود! که همه بچه ها زنگ اول ساندویچ اولویه بیاورند و  دور هم در حیاط بخورند و خوش به حالشان شود!

عصری که دخترم خونه اومد گفت:مامان، پریسا غذا نیاورده بود چون میگفت تو خونه عدسی خورده.

یک لحظه زمین و زمان دور سرم چرخید و کلی به خودم لعنت فرستادم که چرا یادم نبود ساندویچ اضافه درست کنم.

+ولی مامان ،خانم نوایی معلم کلاس اولمون اومد پیش پریسا بعدش هم واسش ساندویچ آورد فک کنم  یادش مونده بود که اون مامان نداره...

زیرپوست شهر؛ هر آدمی آدم نیست(2)!

  و اینک ادامه پست قبل +:

خراب بودن ،هردوتاشون هم خراب بودن. خدا رو شکر حرفم درست دراومد و خیلی کلید اسرار گونه! میتونستم مانع خاک بر سر شدن اون زوج بشم. با خوشحالی داشتم زوجه رو میپختم که از خرید صرف نظر کنه که یهو فروشنده اومد و تند تند بدون اینکه من چیزی بگم ،از لای پولاش ده تومنمو داد و گفت:"برووو آبجی. تو خریدار نیستی.4 تا گردو خریدی این همه فلسفه بافی میکنی؟"

در همین حین اتفاقی دیدم که  خیلی ماهرانه دو تا گردو از جیبش دراورد و دستشو کرد تو گونی و فرمالیته وار ! گونی رو بالا پایین کرد و در آخر اون دوتایی که دستش بود رو شکست و خیلی فاتحانه به همه نشون داد و بهم پوزخند زد.

حجتم رو  به اون دوتا تموم کردم و  با ترس و لرز ،حقه پسرک رو ،رو کردم.رسالت من دیگه تموم شده بود؛پولمو پس گرفتم و فرار رو بر قرار ترجیح دادم .حس خوبی داشتم تقریبا شبیه وقتایی که سر امتحان با ترس و لرز به بچه ها تقلب میرسوندم.

یهو برای درست از آب دراومدن سناریوی داستان کلید اسرارم!حس فضولیم گفت که بمونم تا مطمئن شم اون زوج دیگه خرید نمیکنن.چند دقیقه ای از دور نگاشون کردم همونجا وایساده بودن و داشتن با یارو بحث میکردن. زنه که متوجه من شد با اشاره گفت که برو ،خیالت راحت.باز هم قانع نشدم و این بار بالای پل عابر مستتر شدم. در کمال ناباوری همچنان اونجا بودن و وقتی دیدم که مَرده گونی گردو  رو کمپلت کول کرد و با زنش را افتاد،کل دنیا رو سرم خراب شد.

خوب دوستان اینجا دیگه نوشتن جواب نمیده و متوسل میشیم به فحش. ببخشید دیگه ؛  یک دو سه :خوردی حالا؟ نوش جونت مردک ِخنگ ِنفهمِ طمعکارِ هالو با اون زن نفهم تر از خودت.